コレクションとJAVAのコレクションの違い
Difference Between Collection
1.java.util.Collectionはコレクションインターフェイスです。
これは、コレクションオブジェクトの基本的な操作のための共通のインターフェイスメソッドを提供します。コレクションインターフェイスには、Javaクラスライブラリに多くの具体的な実装があります。コレクションインターフェイスの意味は、さまざまな特定のコレクションに最大の統合操作モードを提供することです。
次のインターフェイスは、コレクションインターフェイスを実装します。
マップ、セット、リスト、ベクトル
次の図は、コレクションインターフェイス(jdk1.7公式ドキュメントから)によって定義されたメソッドです。
2.java.util.Collectionsはラッパークラスです。
これには、収集操作に関連するさまざまな静的ポリモーフィックメソッドが含まれています。このクラスは、Javaのコレクションフレームワークを提供するツールクラスのようにインスタンス化することはできません。
import java.util.ArrayList import java.util.Collections import java.util.List public class TestCollections { public static void main(String args[]) { //Note that List implements the Collection interface List list = new ArrayList() int array[] = {5, 1, 3, 4, 2} for (int i = 0 i - 1
- 二
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 十一
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
具体的には、Collectionsのsortメソッドを見てください。(次のコードは、Collectionsクラスのソースコードから取得したものです)
public static void sort(List list) { Object[] a = list.toArray() Arrays.sort(a) ListIterator i = list.listIterator() for (int j=0 j - 1
- 二
- 3
- 4
- 5
- 6
- 7
- 8
- 9
彼の静的メソッドsortメソッドをリストに渡すことができることがわかります。上記のように、リストはコレクションインターフェイスを実装します。次に、リストを配列オブジェクトに変換した後、Array sortメソッドが呼び出され、配列がソートされ、リストイテレーター(コレクションイテレーターではないことに注意)が1つずつ割り当てられ、受信リストがOrderedになります。リスト。
上記の手順は、ソースコードを読めば理解できると思います。配列のsortメソッドの下部は、DualPivotQuicksortと呼ばれるメソッドです。名前はクイックソートのように見えますが、少し異なる場合があります。とりあえず勉強していません。
知っておく必要があります
- setとmapの両方にSortedSet、TreeSet、SortedMapの実装クラスがあるため、コレクション内のSetとMapの並べ替えメソッドはありません。
- sortメソッドのデフォルトの順序は昇順です。降順でソートする場合は、Collectionsで別のsortメソッドを呼び出すことができます。
public static void sort(List list, Comparator c) { Object[] a = list.toArray() Arrays.sort(a, (Comparator)c) ListIterator i = list.listIterator() for (int j=0 j - 1
- 二
- 3
- 4
- 5
- 6
- 7
- 8
- 9
ご覧のとおり、この並べ替えメソッドにはコンパレータが渡されるため、並べ替え方法を定義できます。