1、のjava.util.Collection
それはコレクションインタフェース(クラスのセットへのトップレベルインターフェース)。これは、インターフェイスメソッドの共通セットは、基本的な操作のためのオブジェクトを提供します。Collectionインタフェースは、Javaクラスライブラリでは、多くの具体的な実装を持っています。Collectionインタフェースの意義は、セット・リストとキューを継承する直接インタフェースを持っている特定のコレクションのさまざまな操作の統一モードを最大化するために提供されます。
2、java.util.Collections
それはラッパークラス(ツール/ヘルパー)。これは、マルチステート動作のセットに関連する様々な静的メソッドを含みます。このクラスは、ユーティリティクラスのように、インスタンス化することはできませんソートする要素のコレクションのために、検索、およびスレッドセーフな操作やその他のJavaコレクションフレームワークでサービスを提供しています。
一般的に使用されています。
(1)ソートソート(コレクション)
如Collections.sort(リスト<T>のリスト)、Collections.sort(リスト<T>リスト、コンパレータ<?スーパーT> C)。
使用ソート方法は、要素の自然順序に従ってリストで指定することができます昇順でオーダー。リスト内のすべての要素は、Comparableインタフェースを実装する必要があり、そして互いに比較することができる比較器を使用して指定されなければなりません。
1 @SuppressWarnings( "をチェック" ) 2 パブリック 静的 <Tが延び匹敵<?スーパー T >> 空のソート(リスト<T> リスト){ 3 はlist.sort(ヌル); 4 }
1 @SuppressWarnings({ "未チェック"、 "rawtypes" }) 2 パブリック 静的 <T> ボイドソート(リスト<T>リスト、コンパレータ<?スーパー T> C){ 3 はlist.sort(C); 4 }
簡単な例:
1つの パブリック クラスのテスト{ 2 公共 静的 ボイドメイン(文字列[]引数){ 3 リストList =は、Arrays.asList( "1〜2 3 4 5" .split(」 " )); 4 Collections.sort(リスト)。 5 のSystem.out.println(リスト)。 6 } 7 }
結果:
[五、四、一、三、TWO] // (アルファベット順)
(2)混排シャッフル(コレクション)
如Collections.shuffle(一覧<?>リスト)
リストのランダムランダムな順序の入力ソースに基づいて、このアルゴリズムはチャンスのゲームの実現のために非常に有用である、また、テストケースの生成に有用です。
簡単な例:
1つの パブリック クラスのテスト{ 2 公共 静的 ボイドメイン(文字列[]引数){ 3 リストList =は、Arrays.asList( "1〜2 3 4 5" .split(」 " )); 4 Collections.shuffle(リスト)。 5 のSystem.out.println(リスト)。 6 } 7 }
結果:
【3つ、5つ、4つ、一つ、二つ]
(3)リバースリバース(コレクション)
Collections.reverse(リスト<?>リスト)
の逆を使用して()セット内の要素の順序を逆に
簡単な例:
1つの パブリック クラスのテスト{ 2 公共 静的 ボイドメイン(文字列[]引数){ 3 リストList =は、Arrays.asList( "1〜2 3 4 5" .split(」 " )); 4 Collections.reverse(リスト)。 5 のSystem.out.println(リスト)。 6 } 7 }
結果:
[5、4、3、2、1]
(4)すべての要素を置換すること(一覧リスト、オブジェクトo)を満たします
あるいは指定された要素のすべての要素の集合。
簡単な例:
1つの パブリック クラスのテスト{ 2 公共 静的 ボイドメイン(文字列[]引数){ 3 リストList =は、Arrays.asList( "1〜2 3 4 5" .split(」 " )); 4 Collections.fill(リスト、 "ゼロ" )。 5 のSystem.out.println(リスト)。 6 } 7 }
結果:
[ゼロ、ゼロ、ゼロ、ゼロ、ゼロ]
(5)コピーコピー(一覧のリスト1、リストLIST2)
コピーLIST1 LIST2要素のセット、および対応するインデックスのカバーエレメント。ターゲットは、ソースLIST2として少なくとも限りLIST1。
簡単な例:
1つの パブリック クラスのテスト{ 2 公共 静的 ボイドメイン(文字列[]引数){ 3 リストLIST1 =は、Arrays.asList( "1〜2 3 4 5" .split(」 " )); 4 一覧LIST2 =は、Arrays.asList( "一二三四五" .split(」 " )); 5 Collections.copy(LIST1、LIST2)。 6 のSystem.out.println(LIST1)。 7 } 8 }
業績:
[1つ、2つ、3つ、4、5]
(6)回転(一覧リスト、INT m)を
所定の距離Mに応じて、リスト内の環状移動素子。M個の組の要素は後のサイクルで前方に位置、カバー要素をセットバック。
簡単な例:
1つの パブリック クラスのテスト{ 2 公共 静的 ボイドメイン(文字列[]引数){ 3 リストLIST1 =は、Arrays.asList( "1〜2 3 4 5" .split(」 " )); 4 Collections.rotate(LIST1、2 )。 5 のSystem.out.println(LIST1)。 6 } 7 }
結果:
【4個、5個、1個、2個、3]
(7)最小値(大)素子分()、MAX()
コンパレータは、指定された順序を生成し、所定の最小コレクション(大)要素を返します。
分(コレクション)、分(コレクション、コンパレータ)
MAX(コレクション)、MAX(コレクション、コンパレータ)
簡単な例:
1つの パブリック クラスのテスト{ 2 公共 静的 ボイドメイン(文字列[]引数){ 3 リストList = 新しいArrayListを()。 4 list.add(10 )。 5 list.add(40 )。 6 list.add(20 )。 7 list.add(50 )。 8 のSystem.out.println(Collections.min(リスト))。 9 のSystem.out.println(Collections.max(リスト))。 10 } 11 }
結果:
10 50
(8)indexOfSublist(一覧リスト、リストのサブリスト)
初めてにリストのインデックスのサブリストの位置を探します。指定されたターゲットリストの開始位置を、指定されたソースの最初の発生のリストに戻ります。
簡単な例:
1つの パブリック クラスのテスト{ 2 公共 静的 ボイドメイン(文字列[]引数){ 3 リストList =は、Arrays.asList( "1〜2 3 4 5" .split(」 " )); 4 一覧のsubList =は、Arrays.asList( "3~4 5" .split(」 " )); 5 のSystem.out.println(Collections.indexOfSubList(リストのsubList))。 6 7 } 8 }
結果:
2
(9)lastIndexOfSublist(一覧リスト、リストのサブリスト)
指定されたリストの最後に出現する指定されたターゲットリストの開始位置に戻ります。
(10)スワップ(一覧リスト、整数mを、INT n)が
元素M、Nポジションを切り替える指定されたインデックスのコレクション。
1つの パブリック クラスのテスト{ 2 公共 静的 ボイドメイン(文字列[]引数){ 3 リストList =は、Arrays.asList( "1〜2 3 4 5" .split(」 " )); 4 Collections.swap(リスト、2、3 )。 5 のSystem.out.println(リスト)。 6 } 7 }
結果:
【1つ、2つ、4つ、3つ、5つ]
参考:
1、https://www.jianshu.com/p/0494cce4312a
2 https://www.cnblogs.com/kadaj174/p/11021730.html