JAVA基础-集合的工具类Collections

news2024/11/26 11:57:01

目录

引言

一,Collections工具类的操作方法方法

1,排序操作

2,替换 和 查找操作

二,Collections工具类的使用

2.1,排序操作

2.1.1,集合的逆序

2.1.2,集合的随机排序

2.1.3,集合的排序

2.2,替换和查找

 2.2.1,集合元素交换

2.2.2,集合的最大值最小值

2.2.3,集合元素的出现次数

2.2.4,集合的复制


引言

        Collections 是一个操作 Set、List 和 Map 等集合的工具类;

        Collections 中提供了一系列静态方法对集合元素进行排序、查询和修改操作;

一,Collections工具类的操作方法方法

1,排序操作

  • reverse(List):反转List中元素的顺序
  • shuffle(List):对List集合元素进行随机排序
  • sort(List):根据元素的自然顺序对指定List集合元素按升序排序

2,替换 和 查找操作

  • swap(List, int ,int ):将指定List集合中的 i 处元素 和 j 处元素进行交换
  • Object max(Collection):根据元素的自然顺序,返回给定集合中的最大元素
  • Object min(Collection):根据元素的自然顺序,返回给定集合中的最小元素
  •  int frequency(Collection,Object):返回指定集合中指定元素的出现次数
  • 11. void copy(List dest,List src):将src中的内容复制到dest中 注意复制的目标集合的长度必须大于源集合,否则会抛出空指针异常
  • 12. boolean replaceAll(List list,Object oldVal,Object newVal):使用新值替换List对象的所有旧 值

二,Collections工具类的使用

2.1,排序操作

2.1.1,集合的逆序

示例代码:

        List<Integer> list=new ArrayList<>(List.of(55,4,25,8,23,7,1,20));
        System.out.println(list);
        Collections.reverse(list);
        System.out.println(list);

输出结果:

2.1.2,集合的随机排序

示例代码:

        List<Integer> list=new ArrayList<>(List.of(55,4,25,8,23,7,1,20));
        System.out.println(list);
        Collections.shuffle(list);
        System.out.println(list);
        Collections.shuffle(list);
        System.out.println(list);

输出结果:

 

2.1.3,集合的排序

 示例代码:

        List<Integer> list=new ArrayList<>(List.of(55,4,25,8,23,7,1,20));
        System.out.println(list);
        Collections.sort(list);
        System.out.println(list);

输出结果:

2.2,替换和查找

 2.2.1,集合元素交换

示例代码:

        List<Integer> list=new ArrayList<>(List.of(55,4,25,8,23,7,1,20));
        System.out.println(list);
        Collections.swap(list,0,1);
        System.out.println(list);

输出结果:

2.2.2,集合的最大值最小值

示例代码:

        List<Integer> list=new ArrayList<>(List.of(55,4,25,8,23,7,1,20));
        System.out.println(list);
        System.out.println(Collections.max(list));
        System.out.println(Collections.min(list));

输出结果:

 

2.2.3,集合元素的出现次数

示例代码:

        List<Integer> list=new ArrayList<>(List.of(55,4,4,4,4,4,4,4,4,4,4,25,8,23,7,1,20));
        System.out.println(list);
        System.out.println(Collections.frequency(list, 4));

输出结果:

 

2.2.4,集合的复制

实例代码:

        List<Integer> list=new ArrayList<>(List.of(55,8,23,7,1,20));
        List<Integer> list1=new ArrayList<>(List.of(5,4,6,8));
        System.out.println(list);
        Collections.copy(list,list1);
        System.out.println(list);

输出结果:

2.2.5,集合的对象替换

示例代码:

        List<Integer> list=new ArrayList<>(List.of(55,8,8,8,8,23,7,1,20));
        System.out.println(list);
        System.out.println(Collections.replaceAll(list, 8, 5));
        System.out.println(list);

输出结果: 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/780605.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

第一百一十三天学习记录:C++提高:类模板(黑马教学视频)

类模板 类模板语法 类模板作用&#xff1a; 建立一个通用类&#xff0c;类中的成员 数据类型可以不具体定制&#xff0c;用一个虚拟的类型来代表。 语法&#xff1a; template<typename T> 类解释&#xff1a; template … 声明创建模板 typename … 表面其后面的符号…

SpringCloud nacos 集成 gateway ,实现动态路由

&#x1f388; 作者&#xff1a;Linux猿 &#x1f388; 简介&#xff1a;CSDN博客专家&#x1f3c6;&#xff0c;华为云享专家&#x1f3c6;&#xff0c;Linux、C/C、云计算、物联网、面试、刷题、算法尽管咨询我&#xff0c;关注我&#xff0c;有问题私聊&#xff01; &…

LeetCode刷题笔记 - 859. 亲密字符串

LeetCode刷题笔记 - 859. 亲密字符串 运行结果 题目注意点 bool buddyStrings(char* s, char* goal) {char d 0;char gd 0;int pair 0;int epair 0;char map[256] {0};if (strlen(s) ! strlen(goal)) {return false;}while (*s ! \0) {if (*s ! *goal) {if (d 0) {d *s;…

《Kali渗透基础》09. 漏洞利用、后渗透

kali渗透 1&#xff1a;漏洞基本介绍1.1&#xff1a;漏洞从哪里来1.2&#xff1a;缓冲区溢出1.3&#xff1a;如何发现漏洞 2&#xff1a;漏洞利用2.1&#xff1a;EXP 选择与修改2.2&#xff1a;避免有害的 EXP 3&#xff1a;后渗透阶段3.1&#xff1a;Linux 上传文件3.2&#x…

前后端分离windows本地nginx解决跨域

下载 http://nginx.org/en/download.html 命令 启动Nginx&#xff1a; nginx.exe start 快速停止或关闭Nginx&#xff1a; nginx.exe -s stop 正常停止或关闭Nginx&#xff1a; nginx.exe -s quit 配置文件修改重装载命令&#xff1a; nginx.exe -s reload 强制停用…

六边形架构

六边形架构 微服务系统架构微服务定义微服务系统设计 传统分层架构六边形架构参考资料 微服务系统架构 需求描述做什么的问题&#xff0c;架构描述怎么做的问题(描述组成系统的各部件及其之间的关系) 微服务定义 下面的定义来自周志明老师的 凤凰架构 微服务是一种通过多个小型…

2023牛客暑期多校第一场部分题解

索引 BCDHJKLM B 官方题解说是乱搞题&#xff0c;而我队友实际上也确实乱搞过去了&#xff08; 就是先随便取两个点&#xff0c;有了两个点之后第三个点肯定选离这两个点构成的直线最远的那个&#xff0c;要不然没法包含整个凸多边形。这个过程可以用个三分。 但是确定了第三…

前端(八)——深入探索前端框架中的Diff算法:优化视图更新与性能提升

&#x1f60a;博主&#xff1a;小猫娃来啦 &#x1f60a;文章核心&#xff1a;深入探索前端框架中的Diff算法&#xff1a;优化视图更新与性能提升 文章目录 前端框架中的Diff算法概述vue和react框架的diff算法React的diff算法&#xff1a;Vue的diff算法&#xff1a; Diff算法在…

实训笔记7.20

实训笔记7.20 7.20一、座右铭二、HDFS宕机之后的副本数的问题三、MapReduce的工作流程&#xff08;简单版本&#xff09;四、Hadoop的序列化问题五、MR程序运行中InputFormat类的作用5.1 作用主要有两个5.2 有一个核心实现类--抽象类FileInputFormat 当输入的数据是文件的时候5…

【图像分类】基于LIME的CNN 图像分类研究(Matlab代码实现)

目录 &#x1f4a5;1 概述 &#x1f4da;2 运行结果 &#x1f389;3 参考文献 &#x1f308;4 Matlab代码实现 &#x1f4a5;1 概述 基于LIME&#xff08;Local Interpretable Model-Agnostic Explanations&#xff09;的CNN图像分类研究是一种用于解释CNN模型的方法。LIME是一…

实用的设计模式08——适配器模式

适配器的单词是Adapter&#xff0c;我们在开发时经常碰到叫做XxxAdapter的类&#xff0c;此时一般就是使用了适配器模式&#xff0c;适配器模式是非常常用&#xff0c;本文就对适配器模式做一个简单的介绍 文章目录 1、真实开发场景的问题引入2、适配器模式讲解2.1 核心类及类图…

2021年全国大学生电子设计竞赛H题——用电器分析识别装置

用电器分析识别装置 一、题目要求二、系统方案三、硬件设计3.1、ATT7022电参数采集模块 一、题目要求 任务 设计并制作一个根据电源线电流的电参量信息分析在用电器类别的装置。该装置具有学习和分析识别两种工作模式。在学习模式下&#xff0c;测试并存储用于识别各单件电器的…

百亿规模京东实时浏览记录系统的设计与实现 | 京东云技术团队

1. 系统介绍 浏览记录系统主要用来记录京东用户的实时浏览记录&#xff0c;并提供实时查询浏览数据的功能。在线用户访问一次商品详情页&#xff0c;浏览记录系统就会记录用户的一条浏览数据&#xff0c;并针对该浏览数据进行商品维度去重等一系列处理并存储。然后用户可以通过…

mybatis事物是如何和spring事物整合的

目录 1、mybatis事物管理器 2、SpringManagedTransactionFactory如何处理事物 3、spring事物如何设置connection连接到threadLocal 1、mybatis事物管理器 mybatis事物抽象接口类&#xff1a;Transaction。该接口定义了事物基本方法和获取数据库连接方法 该类有三个实现类Jd…

【本地开发快速添加localstoreage和cookie】

在本地开发时&#xff0c;通常会需要线上开发或测试环境的缓存&#xff0c;然而&#xff0c;如果缓存过多时&#xff0c;一个一个的复制key&#xff0c;value太过麻烦&#xff0c;于是本文介绍了一种快速设置缓存的方法。 cookie 需要用到插件&#xff0c;使用JSON格式导出&am…

PPT逻辑设计与完美呈现

PPT逻辑设计与完美呈现 https://haoxinyunxueyuan.zhixueyun.com/#/study/course/detail/detailInfoCD00——朱宁川 logo设计神器: https://www.zitijia.com/logodiy/index 一 PPT设计 第一章、PPT的灵魂设计-5W PPT灵魂设计(5W) 以终为始&#xff0c;从目标出发 why 目…

136. 只出现一次的数字

题目 题解一&#xff1a;采用map集合 class Solution {public static int singleNumber(int[] nums) {Map map new HashMap<Integer,Integer>();for (int i 0; i < nums.length; i) {//判断key是否重复&#xff0c;重复直接删掉重复的keyif (map.containsKey(nums[i…

JavaWeb 速通Servlet(请求转发和请求重定向)

目录 一、HttpServletRequest 1.简介 : 2.常用方法 : 1 getRequestURI() : 2 getRequestURL() : 3 getRemoteHost() : 4 getHeader(String header) : 5 getParameter(name) : 6 getParameterValues(name) : 7 getMethod() : 8 setAttribute(key, value) : 9 getAttrib…

面试之JVM的储存空间

Java8之后&#xff0c;取消了整个永久代区域&#xff0c;取而代之的是元空间。运行时常量池和静态常量池存放在元空间中&#xff0c;而字符串常量池依然存放在堆中。&#xff08;&#xff09; JVM允许时数据区 程序计数器的特点以及作用 &#xff1f; 1、程序计数器 是一块较…

protobuf学习

protobuf的安装 Windos版安装 下载地址&#xff1a;https://github.com/protocolbuffers/protobuf/releases 选择合适的版本下载 将下载的压缩包解压&#xff0c;把解压后文件的bin目录的路径配置到系统环境比变量Path中 在cmd 中执行 protoc --version 成功就说明安装成功了l…