Java 进阶之旅的第四天

Java 进阶之旅的第四天

文章目录

  • Java 进阶之旅的第四天
    • Collections集合工具类
      • Collections集合工具类作用/特点
      • Collections常用的API

Collections集合工具类

Collections集合工具类作用/特点

  • 可以对创建的集合进行操作,比如批量添加等
  • 查看源码可得,该工具类的构造函数用private修饰(private Collections() {}),所以使用时不需要创建该类.直接调用即可

Collections常用的API

方法名称 说明
public static boolean addAll(Collection c,T… elements) 批量添加元素
pubilc static void shuffle(List list) 打乱List集合元素的顺序
void sort(List list) 排序
void sort(List list,Comparator c) 指定规则排序
int binarySearch(List list,T key) 以二分查找法查找元素
void copy(List dest,List src) 拷贝集合中的元素
int fill(List list,T obj) 使用指定的元素填充集合
int max/min(Collection coll) 根据默认的自然排序获取最大/小值
void swap(List list,int i,int j) 交换集合中指定位置元素
  • 代码展示
//创建集合
        ArrayList<Integer> array = new ArrayList<>();
        //集合工具类
        //批量添加
        Collections.addAll(array,1,2,3,4,5,6,7);
        System.out.println("批量添加");
        System.out.println(array);
        //打乱集合元素顺序
        Collections.shuffle(array);
        System.out.println("打乱集合元素顺序");
        System.out.println(array);
        //排序
        Collections.sort(array);
        System.out.println("排序");
        System.out.println(array);
        //指定规则排序
        Collections.sort(array, new Comparator<Integer>() {
            @Override
            public int compare(Integer o1, Integer o2) {
                return o2-o1;
            }
        });
        System.out.println("指定规则排序");
        System.out.println(array);
        //二分查找元素
        int index = Collections.binarySearch(array, 1);
        System.out.println("二分查找元素");
        System.out.printf("元素1的下标: %d\n",index);
        System.out.println("二分查找元素1时下标为-1的结果是受到集合逆序的影响");
        //拷贝(暂时无法解决
//        ArrayList array2 = new ArrayList<>();
//        Collections.copy(array2,array);
//        System.out.println("拷贝");
//        System.out.println(array2);
        //
        //根据默认的自然排序获取最大/小值
        int max = Collections.max(array);
        System.out.println("根据默认的自然排序获取最大");
        System.out.printf("最大值: %d\n",max);
        //交换集合中指定位置元素
        Collections.swap(array,0,2);
        System.out.println("交换集合中指定位置元素");
        System.out.println(array);
        //使用指定元素填充结合
        Collections.fill(array,5);
        System.out.println("使用指定元素填充结合");
        System.out.println(array);
  • 结果
批量添加
[1, 2, 3, 4, 5, 6, 7]
打乱集合元素顺序
[4, 1, 6, 3, 5, 2, 7]
排序
[1, 2, 3, 4, 5, 6, 7]
指定规则排序
[7, 6, 5, 4, 3, 2, 1]
二分查找元素
元素1的下标: -1
二分查找元素1时下标为-1的结果是受到集合逆序的影响
根据默认的自然排序获取最大
最大值: 7
交换集合中指定位置元素
[5, 6, 7, 4, 3, 2, 1]
使用指定元素填充结合
[5, 5, 5, 5, 5, 5, 5]

你可能感兴趣的:(Java进阶之旅,java,windows,开发语言)