いつもお世話になっております。
表題の件で、Comparatorインタフェースのcompareメソッドとcomparingメソッドはどのように使い分けたらよいのでしょうか。
以下のコードは、compareメソッドまたはcomparingメソッドで実装したサンプルコードですが、結果は同じになります。
大変申し訳ありませんが、どなたかご教示願えますでしょうか。
■出力結果
[1=Bill, 2=Eric, 3=John]
Java
1import java.util.Comparator; 2import java.util.Set; 3import java.util.TreeSet; 4 5public class Main { 6 7 public static void main(String[] args) { 8 Set<Employee> set = new TreeSet<>((s,t) -> s.getId()-t.getId()); 9 10 set.add(new Employee(3,"John")); 11 set.add(new Employee(1,"Bill")); 12 set.add(new Employee(2,"Eric")); 13 14 System.out.println(set); 15 } 16} 17
Java
1import java.util.Comparator; 2import java.util.Set; 3import java.util.TreeSet; 4 5public class Main { 6 7 public static void main(String[] args) { 8 Set<Employee> set = new TreeSet<>(Comparator.comparing(Employee::getId)); 9 10 set.add(new Employee(3,"John")); 11 set.add(new Employee(1,"Bill")); 12 set.add(new Employee(2,"Eric")); 13 14 System.out.println(set); 15 } 16 17}
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/05/08 09:38
2020/05/08 10:17
2020/05/08 10:22