Collection工具类

Collection工具类的介绍

  • Collection 是一个操作Set、List和Map等集合的工具类
  • Collection中提供了一些列静态的方法对集合元素进行排序、查询和修改的等操作

Collection的排序操作(均为Static方法)

  • 1,reverse(List):反转List中元素的顺序
  • 2,shuffle(List):对List集合元素进行随机排序
  • 3,sort(List,Comparator):根据元素的自然顺序对指定的List集合元素按升序排序
  • 4,swap(List,int,int):将指定list集合中的i处元素和j处元素进行交换
  • 5,Object max(Collection):根据元素的自然顺序,返回给定集合中的最大元素
  • 6,Object min(Collection):参考5
  • 7,int frequency(Collection,Object):返回指定集合中指定元素的出现次数
  • 8,void copy(List dest,List src):将 src 中的内容复制到 dest 中
  • 9,boolean replaceAll(List list,Object oldVal,Object newVal):使用新值替换 List 对象的所有旧值
@SuppressWarnings({"all"})
public class Collections_ {public static void main(String[] args) {//创建ArrayList对象List list = new ArrayList();list.add("to");list.add("smith");list.add("king");list.add("tom");//可以重复System.out.println(list);//1,reverse(List):**反转**List中元素的顺序Collections.reverse(list);System.out.println("反转后的数组="+list);//2,shuffle(List):对List集合元素进行**随机排序**Collections.shuffle(list);System.out.println("随机排序后的数组="+list);//3,sort(List,Comparator):根据元素的自然顺序对指定的List集合元素按**升序排序**Collections.sort(list);System.out.println("自然排序后的数组="+list);//sort(List,Comparator):根据指定的Comparator产生的顺序对List集合元素进行排序Collections.sort(list, new Comparator() {@Overridepublic int compare(Object o1, Object o2) {return ((String)o2).length()-((String)o1).length();}});System.out.println("根据字符串长度大小排序,从大到小排序"+list);//4,swap(List,int,int):将指定list集合中的i处元素和j处元素进行**交换**Collections.swap(list,1,2);System.out.println("交换后的list="+list);//5,Object max(Collection):根据元素的自然顺序,返回给定集合中的最大元素System.out.println( Collections.max(list));//我们要返回长度最大的元素//Object max(Collection,Comparator):根据 Comparator 指定的顺序,返回给定集合中的最大元素Object obj = Collections.max(list, new Comparator() {@Overridepublic int compare(Object o1, Object o2) {return ((String)o1).length()-((String)o2).length();}});System.out.println("List中最长的元素"+obj);//6,Object min(Collection)//Object min(Collection,Comparator)//上面的两个方法,参考 max 即可//7,int frequency(Collection,Object):返回指定集合中指定元素的出现次数System.out.println("tom 出现的次数=" + Collections.frequency(list, "tom"));//8,void copy(List dest,List src):将 src 中的内容复制到 dest 中ArrayList dest = new ArrayList();//为了完成一个完整拷贝,我们需要先给 dest 赋值,大小和 list.size()一样for (int i = 0; i < list.size(); i++) {dest.add("");}//拷贝Collections.copy(dest,list);System.out.println("dest="+dest);//9,boolean replaceAll(List list,Object oldVal,Object newVal):使用新值替换 List 对象的所有旧值Collections.replaceAll(list,"tom","汤姆");System.out.println("list替换后="+list);}
}

结果
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

《A data independent approach to generate adversarial patches》论文分享(侵删)

原文链接&#xff1a;A data independent approach to generate adversarial patches | Machine Vision and Applications author{Xingyu Zhou and Zhisong Pan and Yexin Duan and Jin Zhang and Shuaihui Wang}, 一、介绍 在图像识别领域&#xff0c;与数字域中的攻击相比…

【教学类-55-03】20240512图层顺序挑战(三角形版)(6块三角形,420种叠放顺序)

作品展示 背景需求 分享Lab&#xff5c;更新啦&#xff5e;图层顺序挑战游戏 - 小红书 (xiaohongshu.com)https://www.xiaohongshu.com/discovery/item/62f21760000000000900ec6d?app_platformandroid&ignoreEngagetrue&app_version8.35.0&share_from_user_hidde…

【深入理解MySQL的索引数据结构】

文章目录 &#x1f50a;博主介绍&#x1f964;本文内容&#x1f4d5;索引底层数据结构与算法&#x1f4d9;索引数据结构&#x1f4d8;二叉树&#x1f4d8;红黑树&#x1f4d8;Hash&#x1f4d8;B-Tree&#x1f4d8;BTree &#x1f4d9;表在不同存储引擎的存储结构&#x1f4d8;…

Unity编辑器如何多开同一个项目?

在联网游戏的开发过程中&#xff0c;多开客户端进行联调是再常见不过的需求。但是Unity并不支持编辑器多开同一个项目&#xff0c;每次都得项目打个包(耗时2分钟以上)&#xff0c;然后编辑器开一个进程&#xff0c;exe 再开一个&#xff0c;真的有够XX的。o(╥﹏╥)o没错&#…

Kotlin: ‘return‘ is not allowed here

报错&#xff1a;以下函数的内部函数return语句报错 Kotlin: return is not allowed here fun testReturn(summary: (String) -> String): String {var msg summary("summary收到参数")println("test内部调用参数&#xff1a;>结果是 &#xff1a;${msg…

大屏分辨率适配插件v-scale-screen

前言&#xff1a;大屏分辨率适配繁多&#xff0c;目前我认为最简单且问题最少的的方案就是使用v-scale-screen插件&#xff0c;无需考虑单位转换&#xff0c;position定位也正常使用。 1. 效果 填充满屏幕的效果 保持宽高比的效果 2. 插件原理 原理是通过css transfom 实现…

c++ map,set封装

map 是一个 kv 结构&#xff0c; set 是 k结构。 我们前面模拟实现了 红黑树&#xff0c;但是我们实现的红黑树把 kv 结构写死了&#xff0c;怎么样才能用泛型编程的思想来实现map和set呢 我们先简单看一下原码中是怎么实现的 1.原码实现逻辑 我们打开这里的 stl_set.h 通过…

淘宝闲鱼卖复印机,日入2000,2024年全新教程

1、项目概述 今天&#xff0c;我要向大家介绍一个在淘宝闲鱼上进行的复印机买卖项目。随着科技的快速发展&#xff0c;电子产品的更新换代速度加快&#xff0c;许多公司每年都需要更换新的复印机&#xff0c;而旧的复印机通常会被转售到二手市场&#xff0c;其中淘宝闲鱼是最大…

Java---类和对象第一节

目录 1.面向对象初步认识 1.1什么是面向对象 1.2面向对象和面向过程的区别 2.类的定义和使用 2.1简单认识类 2.2类的定义格式 2.3类的实例化 2.4类和对象的说明 3.this关键字 3.1访问本类成员变量 3.2调用构造方法初始化成员变量 3.3this引用的特性 4.对象的构造以…

面向侧扫声纳目标检测的YOLOX-ViT知识精馏

面向侧扫声纳目标检测的YOLOX-ViT知识精馏 摘要IntroductionRelated WorkYOLOv-ViTKnowledge DistillationExperimental Evaluation Knowledge Distillation in YOLOX-ViT for Side-Scan Sonar Object Detection 摘要 在本文中&#xff0c;作者提出了YOLOX-ViT这一新型目标检测…

如何远程操作服务器中的Python编译器并将运行结果返回到Pycharm

文章目录 一、前期准备1. 检查IDE版本是否支持2. 服务器需要开通SSH服务 二、Pycharm本地链接服务器测试1. 配置服务器python解释器 三、使用内网穿透实现异地链接服务器开发1. 服务器安装Cpolar2. 创建远程连接公网地址 四、使用固定TCP地址远程开发 本文主要介绍如何使用Pych…

Spring底层入门(十一)

1、条件装配 在上一篇中&#xff0c;我们介绍了Spring&#xff0c;Spring MVC常见类的自动装配&#xff0c;在源码中可见许多以Conditional...开头的注解&#xff1a; Conditional 注解是Spring 框架提供的一种条件化装配的机制&#xff0c;它可以根据特定的条件来控制 Bean 的…