このサンプルコードの
[12]のreturn this.number() - car.number();
がどういう処理をしているのかがわからないです。
何故、何を引き算しているんでしょう?
import java.util.ArrayList; import java.util.Collections; public class CollectionsSortWithoutComparator { public static void main(String[] args) { ArrayList <CarImplementedComparable>list = new ArrayList<CarImplementedComparable>();//[1] list.add(new CarImplementedComparable(105, "red"));//[2] list.add(new CarImplementedComparable(102, "blue"));//[3] list.add(new CarImplementedComparable(101, "green"));//[4] list.add(new CarImplementedComparable(104, "yellow"));//[5] list.add(new CarImplementedComparable(103, "black"));//[6] Collections.sort(list);//[7] for (CarImplementedComparable carNumber: list) {//[8] System.out.print("[9] Car Number = " + carNumber.number());//[9] System.out.println(", Cokor = " + carNumber.color()); } } } public class CarImplementedComparable implements Comparable<CarImplementedComparable> {//[20] private int number;//[21] private String color;//[22] public CarImplementedComparable(int number, String color) {//[23] this.number = number;//[24] this.color = color;//[25] } public int number() {//[26] return this.number;//[27] } public String color() {//[28] return this.color;//[29] } @Override public int compareTo( CarImplementedComparable car ){//[11] return this.number() - car.number();//[12] } }
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。