Javaプログラミング:オブジェクト向け(4)Compareable-オブジェクトソート
11352 ワード
Comparable
Comparentインタフェースは、Array/ArrayListをアルファベット順または数値昇順/降順でソートできます.使用するには、次のようにCollectionsクラスをインポートします.
import java.util.Collections;
Integer
まずInteger ArrayListをリストします.
フォーマットは
Collections.sort(ArrayList 이름)
と同じです.Arrayの場合、
Arrays.sort(arr);
public class Main{
ArrayList<Integer> integerList = new ArrayList<>();
integerList.add(2);
integerList.add(8);
integerList.add(4);
}
Collections.sort(integerList);
// 작은 숫자부터 나열됨.
System.out.println(integerList);
// [2,4,8]
String
public class Main{
ArrayList<Integer> StrList = new ArrayList<>();
StrList.add("Abby");
StrList.add("Cathy");
StrList.add("Bobby");
}
Collections.sort(StrList);
// 알파벳순으로 나열됨.
System.out.println(StrList);
// [Abby, Bobby, Cathy]
カスタムクラス
以下のArrayListがあります.この場合、アルファベット順、昇順、降順のいずれかを指定する必要があります.
public class Main{
ArrayList<Dog> dog = new ArrayList<>();
dog.add("mimi","3");
dog.add("chichi","1");
dog.add("Hani","2");
}
以下のコードで記述されたdog.Javaファイルがあると言ってください.まずimplements Comparable<class명>
の形で実施する.<>にclass名を入力するのはtype変数を制限するためです.
public class Dog implements Comparable<Dog>{
public final String name;
public final int age;
public Dog(String name, int age){
this.name = name;
this.age = age;
}
@Override
public String toString(){
return name + " " + age + "살";
}
その後、compareTo()
の方法でソートすることができる. @Override
public int compareTo(Dog d){
return name.compareTo(d.name); //이름-알파벳순
//return age - d.age; // 나이-오름차순
//return d.age - age; // 나이-내림차순
}
このコードに基づくソート例を以下に示す.name.compareTo(d.name); //이름-알파벳순
age - d.age; //나이-오름차순
d.age - age; //나이-내림차순
Reference
この問題について(Javaプログラミング:オブジェクト向け(4)Compareable-オブジェクトソート), 我々は、より多くの情報をここで見つけました https://velog.io/@wijoonwu/javaテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol