Java 进阶之旅的第四天

发布时间:2024年01月18日

Java 进阶之旅的第四天

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<Integer> 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]
文章来源:https://blog.csdn.net/JUIU9527/article/details/135675492
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。