集合之Collections工具类

package com.Lucky;

import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;

/*
     Collections:java。util.Collections
     解析:Collections是集合的工具类,拥有许多处理集合操作的方法

              方法:  addAll();            批量添加数据
                     shuffle()            打乱数据
                     reverse()             反转
                     sort()                 排序
                     binarySearch()     先排序再二分查找
                     swap()                 互换位置
                     copy()                  拷贝数据
                     fill()                  修改数据
                     min/max()             最大值/最小值


 */
public class CollectionsDemo {

    public static void main(String[] args) {
        //创建一个ArrayList集合
        ArrayList<String> arrList=new ArrayList<>();


         //调用工具类Collections
        System.out.println("---------addAll()------------");
        Collections.addAll(arrList,"dsg","A","QER","WSQW","AFGHJEF");
        System.out.println(arrList);


        System.out.println("---------shuffle()------------");
        Collections.shuffle(arrList);  //打乱
        System.out.println(arrList);



        System.out.println("---------reverse()------------");
        Collections.reverse(arrList);   //反转
        System.out.println(arrList);

        System.out.println("---------sort()------------");
        Collections.sort(arrList);   //排序
        System.out.println(arrList);
        Collections.sort(arrList, new Comparator<String>() {  //可以自定义排序【利用比较器排序】
            @Override
            public int compare(String o1, String o2) {
                return o2.compareTo(o1);
            }
        });   //排序
        System.out.println(arrList);



        System.out.println("---------binarySearch()  先排序再二分查找------------");
        ArrayList<Integer> list=new ArrayList<>();
        ArrayList<Integer> list1=new ArrayList<>();
        Collections.addAll(list,1,2,3,8,9,4,6,7);
        list.sort(new Comparator<Integer>() {
            @Override
            public int compare(Integer o1, Integer o2) {
                return o1-o2;
            }
        });
        System.out.println(list);
        //二分查找法查询A字符串
        System.out.println(Collections.binarySearch(list,6));  //返回指定key的索引

        System.out.println("---------swap()  互换位置------------");
         Collections.swap(list,1,3);  //互换位置
        System.out.println(list);



        System.out.println("---------copy()  拷贝数据------------");
        /*
        前提条件:新的集合长度比原来的集合长度小,方法会报错,因为 IndexOutOfBoundsException 异常【下标越界异常】
         */
        Collections.addAll(list1,4,5,6,7,8,9,1,2,3,20,30,54);
        Collections.copy(list1,list);  //将list的数据拷贝到list1中,相同位置的数据将会被覆盖
        System.out.println(list1);


        System.out.println("---------fill()  修改数据------------");
        Collections.fill(list1,100);  //将list1的数据全部修改成100;
        System.out.println(list1);

        System.out.println("---------max/min()  最大值与最小值------------");
        System.out.println(Collections.min(list));
        System.out.println(Collections.max(list));

    }
}

  

posted @ 2022-12-12 09:02  唯易人生  阅读(39)  评论(0)    收藏  举报