特製型の分類に対するJavaの実装方法

カスタム型についての並び替えを実現するには、2つの条件を満たす必要があります。

  1. 独自の型は Comparable インターフェースを実装する必要があります – すなわち compareTo メソッドを実装する必要があります。このメソッドは独自の型のソートルールを定義します。
  2. ソートアルゴリズムを使用して、ユーザー定義型の集合をソートする。

サンプルコードを以下に示します。

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

class Person implements Comparable<Person> {
    private String name;
    private int age;
    
    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }
    
    public String getName() {
        return name;
    }
    
    public int getAge() {
        return age;
    }
    
    @Override
    public int compareTo(Person p) {
        // 根据年龄进行排序
        if (this.age < p.getAge()) {
            return -1;
        } else if (this.age > p.getAge()) {
            return 1;
        } else {
            return 0;
        }
    }
}

public class Main {
    public static void main(String[] args) {
        List<Person> personList = new ArrayList<>();
        personList.add(new Person("Alice", 25));
        personList.add(new Person("Bob", 30));
        personList.add(new Person("Charlie", 20));
        
        // 使用 Collections.sort 方法对集合进行排序
        Collections.sort(personList);
        
        for (Person p : personList) {
            System.out.println(p.getName() + " - " + p.getAge());
        }
    }
}

PersonクラスはComparableインタフェースを実装し、compareToメソッドをオーバーライドしています。mainメソッドでは、まずPerson型のリスト、personListを作成し、その後Collections.sortメソッドでリストをソートしています。最後に、リストを繰り返し処理することで、ソートされた結果を出力しています。

bannerAds