[21728]Compareableソート
10047 ワード
アルゴリズムソート部分でsort()を用いた構文を学習する.
Javaでは、ソートはjavaです.util.Collectionsクラスを用いた静的方法sort()を以前に学んだことがある.
sort()メソッドは2つあります
まず、今日は
生徒の名前と成績をリストで記録し,成績に応じて降順に並べた.
Javaでは、ソートはjavaです.util.Collectionsクラスを用いた静的方法sort()を以前に学んだことがある.
sort()メソッドは2つあります
まず、今日は
Comparable<T>
インターフェースを使って生徒の名前と成績をリストで記録し,成績に応じて降順に並べた.
package com.company;
//학생의 '점수'를 기준으로 정렬 수행하기
import java.util.*;
class Student implements Comparable<Student>{
private String name;
private int score;
public Student(String name, int score){
this.name = name;
this.score = score;
}
public String GetName(){
return this.name;
}
public int GetScore(){
return this.score;
}
//정렬 기준은 '점수'가 '낮은 순서'
@Override
public int compareTo(Student other) {
if(this.score < other.score){
return -1;
}
return 1;
}
}
public class Main {
//학생 수 N
public static int N = 0;
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
N = sc.nextInt();
List<Student> students = new ArrayList<>();
//N명의 학생 정보를 입력받아 List에 저장
for (int i = 0; i < N; i++) {
String name = sc.next();
int score = sc.nextInt();
students.add(new Student(name, score));
}
sc.close();
Collections.sort(students);
for(int j = 0; j<students.size();j++){
System.out.print(students.get(j).GetName() + " ");
}
}
}
Reference
この問題について([21728]Compareableソート), 我々は、より多くの情報をここで見つけました https://velog.io/@iseeu95/210728-ComparableT-정렬テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol