当前位置: 首页 > news >正文

Java Collections工具类

Collections 类:Java 中提供的一组静态方法,用于操作集合。常用方法:

1. 排序
  • Collections.sort(List<T> list)
    • 对指定列表进行升序排序。
  • Arrays.asList 将一个数组转化为一个List集合
List<Integer> numbers = Arrays.asList(5, 2, 8, 1);
Collections.sort(numbers);
2. 查找
  • Collections.binarySearch(List<? extends Comparable<? super T>> list, T key)

    • 在已排序的列表中查找指定元素,返回其索引。
    int index = Collections.binarySearch(numbers, 2);  // 返回 1
    
3. 反转和洗牌
  • Collections.reverse(List<?> list)

    • 反转列表中的元素顺序。
    Collections.reverse(numbers);
    
  • Collections.shuffle(List<?> list)

    • 随机打乱列表中的元素顺序。
    Collections.shuffle(numbers);
    
4. 最大值和最小值
  • Collections.max(Collection<? extends T> coll)

    • 返回集合中的最大元素。
    int max = Collections.max(numbers);
    
  • Collections.min(Collection<? extends T> coll)

    • 返回集合中的最小元素。
    int min = Collections.min(numbers);
    
5. 频率
  • Collections.frequency(Collection<?> c, Object o)

    • 计算指定元素在集合中出现的次数。
    int freq = Collections.frequency(numbers, 2);
    
6. 替换
  • Collections.replaceAll(List<T> list, T oldVal, T newVal)

    • 替换列表中所有的旧值为新值。
    Collections.replaceAll(numbers, 2, 20);
    
7. 创建不可变集合
  • Collections.unmodifiableList(List<? extends T> list)

    • 返回指定列表的不可变视图。
    List<Integer> immutableList = Collections.unmodifiableList(numbers);
    
8. 单例集合
  • Collections.singleton(T o)

    • 返回一个包含单个指定元素的不可变集合。
    Set<Integer> singletonSet = Collections.singleton(1);
    
9. 空集合
  • Collections.emptyList()

    • 返回一个空的不可变列表。
    List<String> emptyList = Collections.emptyList();
    
10. 同步集合
  • Collections.synchronizedList(List<T> list)

    • 返回线程安全的列表。
    List<Integer> synchronizedList = Collections.synchronizedList(new ArrayList<>());
    
示例:
package ServletProjects;  import java.util.*;  public class Main {  public static void main(String[] args) {  List<Integer> numbers = new ArrayList<>(Arrays.asList(5, 2, 8, 1, 2));  Collections.sort(numbers);  System.out.println("排序后" + numbers);  Collections.shuffle(numbers);  System.out.println("打乱后 " + numbers);  int max = Collections.max(numbers);  int min = Collections.min(numbers);  System.out.println("最大值 " + max + ",最小值: " + min);  int freq = Collections.frequency(numbers, 2);  System.out.println("2的次序为: " + freq);  Collections.replaceAll(numbers, 2, 20);  System.out.println("替换后: " + numbers);  }  
}
http://www.dtcms.com/a/301991.html

相关文章:

  • RocketMQ入门实战详解
  • 【MySQL学习|黑马笔记|Day1】数据库概述,SQL|通用语法、SQL分类、DDL
  • 【数据标注】详解使用 Labelimg 进行数据标注的 Conda 环境搭建与操作流程
  • 【unitrix】 6.20 非零整数特质(non_zero.rs)
  • 做了一款小而美的本地校验器
  • 【保姆级喂饭教程】Python依赖管理工具大全:Virtualenv、venv、Pipenv、Poetry、pdm、Rye、UV、Conda、Pixi等
  • 【el-table滚动事件】el-table表格滚动时,获取可视窗口内的行数据
  • 电磁兼容五:仿真技术
  • 数智驱动的「库存管理」:从风险系数、ABC分类到OMS和ERP系统的协同优化策略
  • 前端静态资源优化
  • WD5030A芯片24降12V,15A以内,应用于路由器、交换机和网络服务器,成本低大电流
  • 枚举策略模式实战:优雅消除支付场景的if-else
  • 6种将iPhone照片传输到Windows 10电脑的方法
  • Vue 正在热映模块
  • 安宝特案例丨AR+AI+SOP?3大技术融合革新军工航天领域
  • 组件化(一):重新思考“组件”:状态、视图和逻辑的“最佳”分离实践
  • 中兴云电脑W101D2-晶晨S905L3A-2G+8G-安卓9-线刷固件包
  • react前端样式如何给元素设置高度自适应
  • 四、计算机组成原理——第7章:输入/输出系统
  • Mac查看本机ip地址
  • 六轴机械臂cad【11张】三维图+设计说明书
  • GPU训练日志 (下)
  • Redis 服务挂掉排查与解决
  • STL学习(?、set容器)
  • 计算机毕业设计java在线二手系统的设计与实现 基于Java的在线二手交易平台开发 Java技术驱动的二手物品管理系统
  • 如何创建 Google 翻译桌面快捷方式
  • qt 心跳包
  • 【Linux篇】进程间通信:进程IPC
  • 搜索引擎高级搜索指令大全(Google、百度等浏览器通用)
  • R语言简介(附电子书资料)