自然順序づけとは
あるクラスについて一般的に想定される並べ順のこと
java.lang.Comparable
あるクラスを開発する際に、そのクラスの自然順序を宣言するための インタフェース。 このインタフェースを実装するとcompareTo()が強制され、 自然順序づけの方法を宣言できる
Main.java import java.util.ArrayList; import java.util.Collections; import java.util.List; public class Main { public static void main(String[] args) { List<Account> list = new ArrayList<>(); Account a1 = new Account(); Account a2 = new Account(); a1.number = 200; a1.number = 100; list.add(a1); list.add(a2); System.out.println("ソート前: "); for (Account a : list) { System.out.println(a.number); } Collections.sort(list); System.out.println("ソート後: "); for (Account account : list) { System.out.println(account.number); } } }
Account.java public class Account implements Comparable<Account> { int number; int zandaka; @Override public int compareTo(Account o) { if (this.number < o.number) { return -1; } if (this.number > o.number) { return 1; } return 0; } }