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

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.xdnf.cn/news/16501.html

相关文章:

  • 达梦有多少个模式
  • 页面性能优化
  • Java基础-IO流
  • 【灰度实验】——图像预处理(OpenCV)
  • 商用车的自动驾驶应用场景主要包括七大领域
  • 开发指南125-HTML DOM事件
  • 1.gradle安装(mac)
  • RocketMQ入门实战详解
  • clock_getres系统调用及示例
  • 智慧社区项目开发(二)——基于 JWT 的登录验证功能实现详解
  • 分布式高可用架构核心:复制、冗余与生死陷阱——从主从灾难到无主冲突的避坑指南
  • 【Linux篇】进程间通信:进程IPC
  • 负载均衡算法中的加权随机算法
  • kafka开启Kerberos使用方式
  • uniapp_微信小程序_根据胶囊按钮计算出的导航栏高度为什么不是44px?
  • 【Linux】Ubuntu上安装.NET 9运行时与ASP.NET Core项目部署入门
  • 复杂人流场景口罩识别漏检率↓76%:陌讯动态特征融合算法实战解析
  • 开源智能体-JoyAgent集成ollama私有化模型
  • ATF 运行时服务
  • 标准解读——2024 数据资产价值评估指南(正式版)【附全文阅读】
  • ICDC自动化部署方案概述
  • 7.28 错题(zz)史纲 第五章新道路
  • Qt_Gif_Creator 基于Qt的屏幕gif录制工具
  • 灵动画布:快手可灵 AI 推出的多人协作 AI 创意工作台
  • PostgreSQL日志配置全解析:从基础设置到进阶策略
  • 墨者:SQL手工注入漏洞测试(MySQL数据库-字符型)
  • LangGraph智能体(天气和新闻助手)开发与部署
  • MySQL的常用数据类型详解
  • ROS2编写一个简单的插件
  • 2025年7月一区SCI-基尔霍夫定律优化算法Kirchhoff’s law algorithm-附Matlab免费代码