リスト集合の小知識を記録する(ソートを乱す)

1482 ワード

今日のプロジェクトでは、検索したコレクションの結果セットの順序を乱して展示する必要があります.展示するたびに違います.
当時はぼんやりしていて、時間を型取りするのが面倒だと思ってネットで探してみましたが、こんなに簡単だったのに、以前はこの方法を使ったことがありませんでした.
結果セットをリストセットに変更すると、リストにソートを乱す方法があります.Collectionsです.shuffle(list)は、このようにすると展示されるたびにランダムです.
//        
public static void main(String[] args) {
        List User = new ArrayList();
        User.add("1");
        User.add("2");
        User.add("3");
        User.add("4");
        User.add("5");
        Collections.shuffle(User);
        System.out.println(User);
    }

リストの他のよく使われる操作をメモしてください.
ソート:Collections.sort();
検索:Collections.binarySearch();
ソートを乱す:Collections.shuffle();
コレクション内の要素の順序を反転します:reverse();
集合内の要素を置換し、その要素が存在する場合true:replaceAll(List list,T oldVal,T newVal)を返す.
集合中の要素はdistance個の位置を後ろに移動し、後ろに隠された位置は前に移動します.下位数が100個より大きい場合は3回のreverseで実現し、ソートアルゴリズムで実現する:rotate(List list,int distance); 
srcの要素をdestにすべてコピーし、インデックスを上書きします.(srcのストレージサイズはdestより小さくなければならない):copy(List super T>dest、List extends T>src); 
交換セットで指定したインデックス位置の要素:swap(List>list,int i,int j); 
  • nCopies(int n, T o);//大きさnのリストセットを返します.ここで、すべての要素の内容はo
  • を指します.
  • enumeration(final Collection c);//集合に基づいて旧版列挙
  • を生成
  • list(Enumeration e);//旧版列挙生成ArrayList
  • fill(List super T> list, T obj);//obj置換コレクション内のすべての要素