Collectionsクラス
1504 ワード
Collectionsクラスはjavaが提供する集合操作ツールクラスで、集合要素のソート、検索、置換などの操作を実現するための静的メソッドが多数含まれています.
CollectionsはCollectionsとは異なり、前者は集合の操作クラスであり、後者は集合のインタフェースである.
ツールバーの
Javaでは、クラスのオブジェクト間の比較サイズを実装するには、このクラスはComparableインタフェースを実装します.このインタフェースは、実装された各クラスのオブジェクトを強制的に並べ替えます.このソートをクラスの自然ソートと呼び,クラスのcompareTo()メソッドをその自然比較メソッドと呼ぶ.この方法は、指定したオブジェクトとの順序を比較し、指定したオブジェクトより小さい、等しい、または大きい場合は、それぞれ負の整数、ゼロ、または正の整数を返します.
compareTo()メソッドの定義構文フォーマットは次のとおりです.
int compareTo(Object obj);
このインタフェースのオブジェクトリスト(および配列)を実装し、要素間でサイズを比較できるようになったら、Collections.sort()メソッド(およびArray.sort()メソッド)でソート操作を行うことができます.前にListインタフェースとMapインタフェースを紹介しましたが、Mapインタフェース自体は無秩序なので、Mapインタフェースをソート操作することはできません.しかし、Listインタフェースは秩序化されているので、Listインタフェースをソートすることができます.注意Listインタフェースに格納されている要素は、Comparableインタフェースが実装されている要素でなければなりません.
例:
置換
リストセット内のすべての要素を同じ要素に置き換える必要がある場合は、Collectionsクラスの静的メソッドfill()を使用して実現できます.
CollectionsはCollectionsとは異なり、前者は集合の操作クラスであり、後者は集合のインタフェースである.
ツールバーの
Javaでは、クラスのオブジェクト間の比較サイズを実装するには、このクラスはComparableインタフェースを実装します.このインタフェースは、実装された各クラスのオブジェクトを強制的に並べ替えます.このソートをクラスの自然ソートと呼び,クラスのcompareTo()メソッドをその自然比較メソッドと呼ぶ.この方法は、指定したオブジェクトとの順序を比較し、指定したオブジェクトより小さい、等しい、または大きい場合は、それぞれ負の整数、ゼロ、または正の整数を返します.
compareTo()メソッドの定義構文フォーマットは次のとおりです.
int compareTo(Object obj);
このインタフェースのオブジェクトリスト(および配列)を実装し、要素間でサイズを比較できるようになったら、Collections.sort()メソッド(およびArray.sort()メソッド)でソート操作を行うことができます.前にListインタフェースとMapインタフェースを紹介しましたが、Mapインタフェース自体は無秩序なので、Mapインタフェースをソート操作することはできません.しかし、Listインタフェースは秩序化されているので、Listインタフェースをソートすることができます.注意Listインタフェースに格納されている要素は、Comparableインタフェースが実装されている要素でなければなりません.
例:
public class Student implements Comparable{
private int num;
private String name;
public int getNum() {
return num;
}
public void setNum(int num) {
this.num = num;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int compareTo(Object o) {
Student stu = (Student)o;
if (this.num == stu.getNum()) {
return 0;
} else if (this.num > stu.getNum()) {
return 1;
} else {
return -1;
}
}
}
置換
リストセット内のすべての要素を同じ要素に置き換える必要がある場合は、Collectionsクラスの静的メソッドfill()を使用して実現できます.