Java オブジェクト指向プログラミングの実践 - Comparable インターフェイスのソートの実装

この記事では、Java オブジェクト指向プログラミングを使用して、名前と年齢による並べ替えの必要性を実装し、Comparable インターフェイスを実装してオブジェクトの並べ替えを実装する方法を紹介します。

  1. PersonSortable クラスを定義する

まず、人の名前と年齢を表すプライベート名とプライベート年齢属性を含む PersonSortable クラスを定義する必要があります。以下は PersonSortable クラスのコードです。

public class PersonSortable implements Comparable<PersonSortable> {
    private String name;
    private int age;

    public PersonSortable(String name, int age) {
        this.name = name;
        this.age = age;
    }

    public String toString() {
        return name + "-" + age;
    }

    public int compareTo(PersonSortable other) {
        int result = name.compareTo(other.getName());
        if (result == 0) {
            result = age - other.getAge();
        }
        return result;
    }
}
  1. main関数で使用されます

main 関数では、まず整数 n を入力します。これは、n 人の名前と年齢を入力する必要があることを意味します。次に、ループを通じて n 行のデータを読み取り、データの各行を PersonSortable オブジェクトに構築し、それを配列に配置します。次に、Arrays.sort メソッドを呼び出して配列を並べ替えます。以下は main 関数のコードです。

import java.util.Arrays;
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int n = scanner.nextInt();
        PersonSortable[] persons = new PersonSortable[n];
        for (int i = 0; i < n; i++) {
            String name = scanner.next();
            int age = scanner.nextInt();
            persons[i] = new PersonSortable(name, age);
        }

        Arrays.sort(persons);

        for (PersonSortable person : persons) {
            System.out.println(person.toString());
        }

        System.out.println(Arrays.toString(PersonSortable.class.getInterfaces()));
    }
}

上記のコードでは、最初に整数 n を入力し、次にループを通じて n 行のデータを読み取り、データの各行を PersonSortable オブジェクトに構築して、person 配列に配置します。次に、Arrays.sort メソッドを使用して person 配列を並べ替えます。最後に、System.out.println メソッドを使用して、PersonSortable によって実装されたすべてのインターフェイスを出力します。

  1. 要約する

この記事では、Java オブジェクト指向プログラミングを使用して、名前と年齢による並べ替え要件を実装し、Comparable インターフェイスを実装してオブジェクトを並べ替える方法を紹介します。この記事で紹介する方法を学ぶことで、Java オブジェクト指向プログラミングの基礎知識をさらに習得し、プログラミング能力を向上させることができます。

おすすめ

転載: blog.csdn.net/qq_61433567/article/details/131140161