Day51.Collections工具类常用方法 -Java常用类、集合#、IO

Collections工具类常用方法

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8c0tvMpX-1600953925806)(C:\Users\PePe\AppData\Roaming\Typora\typora-user-images\image-20200924202704371.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KJf3bg5n-1600953925811)(C:\Users\PePe\AppData\Roaming\Typora\typora-user-images\image-20200924202803385.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Baz3yiKl-1600953925813)(C:\Users\PePe\AppData\Roaming\Typora\typora-user-images\image-20200924202810215.png)]

//Collections:  操作Collection(List、Set)、Map的工具类

//面试题: Collection 与 Collections的区别?
    //Collection 是 接口
    //Collections 是操作Collection接口的 工具类
public class CollectionsTest {

    /*
    reverse(List): 反转 List 中元素的顺序
    shuffle(List): 对 List 集合元素进行随机排序
    sort(List): 根据元素的自然顺序对指定 List 集合元素按升序排序
    sort(List,Comparator): 根据指定的 Comparator 产生的顺序对 List 集合元素进行排序
    swap(List,int i,int j): 将指定 List 集合中的 i 处元素 和 j 处元素进行交换

    Object max(Collection): 根据元素的自然顺序,返回给定集合中的最大元素
    Object max(Collection,Comparator): 根据Comparator指定的顺序,返回给定集合中的最大元素
    Object min(Collection): 根据元素的自然顺序,返回给定集合中的最小元素
    Object min(Collection,Comparator): 根据Comparator指定的顺序,返回给定集合中的最小元素
    int frequency(Collection,Object): 返回指定集合中指定元素的出现次数
    void copy(List dest,List src): 将src中的内容复制到dest中
    boolean replaceAll(List list,Object oldVal,Object newVal): 使用新值替换 List对象 的所有旧值

     */

    @Test
    public void test1(){
        List list = new ArrayList();
        list.add(123);
        list.add(23);
        list.add(-3252);
        list.add(4278);
        list.add(468);
        list.add(3);

        System.out.println(list);//[123, 23, -3252, 4278, 468, 3]

//        Collections.reverse(list);//反转list数据;   返回void 修改list本身

//        Collections.shuffle(list);//随机化list数据;

//        Collections.sort(list);//自然排序list数据;    从小到大排序

//        Collections.swap(list,1,3);//交换list集合中索引1和索引3元素的位置

//        Comparable max = Collections.max(list);//返回list集合中最大的元素
//        System.out.println(max);

//        Comparable min = Collections.min(list);//返回list集合中最小的元素
//        System.out.println(min);//

//        int frequency = Collections.frequency(list, 23);//返回list集合 23 的出现频率
//        System.out.println(frequency);

        System.out.println(list);
    }

    //copy()方法的测试:
    @Test
    public void test2(){
        List list = new ArrayList();
        list.add(123);
        list.add(23);
        list.add(-3252);
        list.add(3);

        //错误的写法:    报错 IndexOutOfBoundsException: Source does not fit in dest
//        List dest = new ArrayList();
//        Collections.copy(dest,list);

        //正确写法:
        List dest =Arrays.asList(new Object[list.size()]);
        System.out.println(dest.size());//list.size();
        Collections.copy(dest,list);

        System.out.println(dest);

        /*
        Collection类中提供了多个synchronizedXxx()方法,
        该方法可使将指定集合包装成线程同步的集合,
        从而可以解决多线程并发访问集合时的线程安全问题。
         */

        //返回的list1即为线程安全的list
        List list1 = Collections.synchronizedList(list);

    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿昌喜欢吃黄桃

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值