Collections常用的API

这篇文章展示了如何使用Java的Collections工具类进行批量添加元素、打乱List顺序、排序、二分查找、拷贝集合、填充集合以及交换和获取最大/小值等操作。示例代码详细解释了每个方法的功能和用法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

//批量添加元素
public static <T> boolean addAll(Collection<T> c,T...elements)

//打乱List集合元素的顺序
public static void shuffle(List<?> list)

//排序
public static <T> void sort(List<T> list)

//根据指定的规则进行排序
public static <T> void sort(List<T> list,Comparator<T> )

//以二分查找算法查找元素
public static <T> int binarySearch(List<T> list,T key)

//拷贝集合中的元素
public static <T> void copy(List<T> dest,List<T> src)

//使用指定的元素填充集合
public static <T> int fill(List<T> list,T obj)

//根据默认的自然排序获取最大/小值
public static <T> void max/min(Collection<T> coll)

//交换集合中指定位置的元素
public static <T> void swap(List<?> list, int i,int j)


具体实例如下:

public static void main(String[] args) {
        //创建集合对象
        ArrayList<String> list = new ArrayList<>();


        //批量添加元素
        Collections.addAll(list, "aaa", "bbb", "ccc");
        //[aaa, bbb, ccc]

        //打乱集合中的元素
        Collections.shuffle(list);
        //[ccc, aaa, bbb]

        //排序
        Collections.sort(list);
        //[aaa, bbb, ccc]

        //按照指定规则打乱
        Collections.sort(list, (o1, o2) -> {
            int i = o1.compareTo(o2);
            return Integer.compare(0, i);
        });
        //[ccc, bbb, aaa]

        //以二分查找算法查找元素
        int index = Collections.binarySearch(list, "ccc");
        System.out.println(index);
        //0

        //拷贝集合中的元素
        ArrayList<String> list2 = new ArrayList<>();
        Collections.addAll(list2, "a", "b", "c");
        Collections.copy(list2,list);
        System.out.println(list2);
        //[ccc, bbb, aaa]

        //根据默认的自然排序获取最大/小值
        String max=Collections.max(list);
        System.out.println(max);
        //ccc

        //交换集合中指定位置的元素
        Collections.swap(list,0,1);
        System.out.println(list);
        //[bbb, ccc, aaa]

        //使用指定的元素填充集合
        Collections.fill(list,"sss");
        System.out.println(list);
        //[sss, sss, sss]

    }


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值