コレクションと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

ご覧のとおり、この並べ替えメソッドにはコンパレータが渡されるため、並べ替え方法を定義できます。