首页 > 其他分享 >Collections工具类

Collections工具类

时间:2023-02-20 23:14:35浏览次数:32  
标签:dest list Object List Collections 集合 工具

Collections 是一个操作 Set、List 和 Map 等集合的工具类 Collections 中提供了一系列静态的方法对集合元素进行排序、查询和修改等操作,还提供了对集合对象设置不可变、对集合对象实现同步控制等方法   排序操作:(均为static方法) reverse(List):反转 List 中元素的顺序 shuffle(List):对 List 集合元素进行随机排序 sort(List):根据元素的自然顺序对指定 List 集合元素按升序排序 sort(List,Comparator):根据指定的 Comparator 产生的顺序对 List 集合元素进行排序 swap(List,int, int):将指定 list 集合中的 i 处元素和 j 处元素进行交换   查找、替换 Object max(Collection):根据元素的自然顺序,返回给定集合中的最大元素 Object max(Collection,Comparator):根据 Comparator 指定的顺序,返回给定集合中的最大元素 Object min(Collection) Object min(Collection,Comparator) int frequency(Collection,Object):返回指定集合中指定元素的出现次数 void copy(List dest,List src):将src中的内容复制到dest中

*/
    @Test
    public void test2(){
        List list = new ArrayList();
        list.add(123);
        list.add(43);
        list.add(765);
        list.add(-97);
        list.add(0);

        //报异常: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);


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

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


    }

 

boolean replaceAll(List list,Object oldVal,Object newVal):使用新值替换List 对象的所有旧值  

标签:dest,list,Object,List,Collections,集合,工具
From: https://www.cnblogs.com/AshoreDrill/p/17139332.html

相关文章

  • jenkins学习笔记之五:Maven、Ant、Gradl、Node构建工具集成
    一、jienkins集成Maven1.安装Maven下载地址:https://maven.apache.org/download.cgiwget--no-check-certificatehttps://dlcdn.apache.org/maven/maven-3/3.9.0/bin......
  • 第十九章 特殊工具和技术
    第十九章特殊工具与技术控制内存分配重载new和deletenew表达式的工作机理:string*sp=newstring("avalue");//分配并初始化一个string对象string*arr=news......
  • Qt实现画图工具
    #include<QtWidgets>#include"mainwindow.h"#include"scribblearea.h"//![0]MainWindow::MainWindow(){scribbleArea=newScribbleArea;setCentralWidget(scr......
  • 开源BI工具DataEase
    在github上找到了一个比较好用的数据可视化开源项目Dataease,版风简洁明了,内部功能丰富强大。适合大部分想简单把自己写好的Excel数据和项目数据进行总结的人使用。开源项目......
  • 常用包管理工具, 国内换源操作以及源地址收集(npm, yarn, pip, docker, linux, github
    常用包管理工具的换源本文将保持更新,以适应不同时代软件源的变化;如发现软件源失效请留言提醒常用包管理工具,国内换源操作以及镜像源地址收集(npm,yarn,pip,doc......
  • JAVA工具类ObjectUtils.Null
    一、ObjectUtils.Null类作为一个空占位符,其中null具有另外一个含义。例如在HashMap中的HashMap.get(java.lang.Object)方法返回null如果这个Map包含null(也就是有一个ke......
  • Java基础知识(23)- Java虚拟机(JVM)- (2) | 常用的 JVM 性能调优监控工具
    在企业级Java应用开发中,Java程序运行过程中会经常遇到内存不足、内存泄露、线程死锁、CPU高占用等问题。部分问题在日常开发中可能会被忽视或被别变通的方法绕开(比如重......
  • 自带超多工具,好用又免费,这3款手机浏览器你用过了吗
    手机浏览器是我们手机中必备的一款软件APP,一款好用的浏览器,可以帮助我们提高工作效率,节省时间。对于懒癌患者来说,手机上安装各种各种的app很麻烦,下面给大家介绍自带超多的......
  • Idea Diff工具介绍
    背景项目中有大量的数据对比工作,需要生成文件,与旧文件进行对比,自动化对比和手工对比验证,自动化对比采用java-diff工具类或者手动去除换行空格注释,进行字符串对比,手动化对......
  • shell工具
    shell工具1.PuTTY—经典远程登录客户端下载链接:[https://putty.org/]PuTTY是一个Telnet、SSH、rlogin、纯TCP以及串行接口连接软件。较早的版本仅支持Windows平台,在最......