6、Collections工具类
2024-10-21 04:12:19
1、Collections工具类介绍
- Collections 是一个操作 Set、List 和 Map 等集合的工具类
- Collections 中提供了一系列静态的方法对集合元素进行排序、查询和修改等操作
2、排序操作(均为static方法)
reverse(List):反转List 中元素的顺序
shuffle(LIst):对List 集合元素进行随机排序
sort(List):根据元素的自然顺序对指定List 集合元素按升序排序
sort(List,comparator):根据指定的Comparator 产生的顺序对List 集合元素进行排序
swap(List,int,int):将指定list 集合中的 i 处元素和 j 处元素进行交换。
package com.hspedu.collections_; import java.util.*; @SuppressWarnings({"all"})
public class Collections_ {
public static void main(String[] args) { //创建ArrayList 集合,用于测试
List list = new ArrayList();
list.add("tom");
list.add("smith");
list.add("king");
list.add("milan");
System.out.println(list); Collections.reverse(list);
System.out.println(list); Collections.shuffle(list);
System.out.println(list); Collections.sort(list);
System.out.println(list); Collections.sort(list, new Comparator() {
@Override
public int compare(Object o1, Object o2) {
return ((String) o1).length() - ((String) o2).length();
}
});
System.out.println(list); Collections.swap(list,0,1);
System.out.println(list); }
}
/*
运行结果:
[tom, smith, king, milan]
[milan, king, smith, tom]
[milan, smith, king, tom]
[king, milan, smith, tom]
[tom, king, milan, smith]
[king, tom, milan, smith]
*/
3、查找、替换
- 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中
- boolean replaceAll(List list, Object oldVal, Object newVal):使用新值替换List 对象的所有旧值
package com.hspedu.collections_;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
@SuppressWarnings({"all"})
public class Collections_1 {
public static void main(String[] args) {
//创建ArrayList 集合,用于测试
List list = new ArrayList();
list.add("tom");
list.add("tom");
list.add("smith");
list.add("king");
list.add("milan");
System.out.println(list);
System.out.println(Collections.max(list));
Object maxObject = Collections.max(list, new Comparator() {
@Override
public int compare(Object o1, Object o2) {
return ((String) o1).length() - ((String) o2).length();
}
});
System.out.println(maxObject);
System.out.println("tom 出现的次数= " + Collections.frequency(list,"tom"));
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);
Collections.replaceAll(list,"tom","汤姆");
System.out.println(list);
}
}
/*
运行结果:
[tom, tom, smith, king, milan]
tom
smith
tom 出现的次数= 2
dest= [tom, tom, smith, king, milan]
[汤姆, 汤姆, smith, king, milan]
*/
最新文章
- 关于 escape、encodeURI、encodeURIComponent
- android事件分发机制
- 通过反射获取SSM的controller层的注解以及注解中的value值
- 第十三课:js操作节点的创建
- ubuntu下sh文件使用
- Android开发环境搭建(windows OS)之补充
- ubuntu16.04 server安装小记
- c++设计模式之观察者模式
- Longest Palindromic Substring - 字符串中最长的回文字段
- JavaScript中的for in循环
- USACO 2017 February Platinum
- 在centos,docker中安装HeadlessChrome
- 第 9 章 数据管理 - 076 - 使用 Rex-Ray volume
- javaScript放在head和body的区别
- bzoj5093:[Lydsy1711月赛]图的价值
- hashMap tableSizeFor 实现原理
- Node.js &; SSR
- 将Spring-boot应用部署到Docker容器
- 7.MySQL必知必会之用通配符进行过滤-like
- 控制器pop时没有被销毁(没有走dealloc方法)错误原因