当前位置: 首页 > 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.lryc.cn/news/602852.html

相关文章:

  • Mac查看本机ip地址
  • 【密码学】3. 流密码
  • 互信息:理论框架、跨学科应用与前沿进展
  • 【实时Linux实战系列】实时运动分析系统的构建
  • 表征学习:机器认知世界的核心能力与前沿突破
  • 组件化(一):重新思考“组件”:状态、视图和逻辑的“最佳”分离实践
  • 11. 若依参数验证 Validated
  • Linux DNS解析3 -- DNS解析代理配置使用
  • 机器学习基础-matplotlib
  • Python Pandas.merge函数解析与实战教程
  • 解决Echarts设置宽度为100%发现宽度变为100px的问题
  • Revo Uninstaller Pro专业版领取:2025最佳Windows软件卸载工具
  • 【历史人物】【韩愈】简历与生平
  • 解决访问 nginx 首页报错 404
  • 【LeetCode 热题 100】35. 搜索插入位置——二分查找(闭区间)
  • XCF32PVOG48C Xilinx Platform Flash PROM
  • 【计算机网络】计算机网络中光猫、交换机、路由器、网关、MAC地址是什么?两台电脑是如何联通的?
  • PTX指令集基础以及warp级矩阵乘累加指令介绍
  • 进程间通信性能测试于VPS服务器环境的实践方案
  • Java HashMap中的compute及相关方法详解:从基础到Kafka Stream应用
  • 【esp32s3】7 - VSCode + PlatformIO + Arduino + 构建项目
  • Jenkins流水线部署+webhook2.0
  • 【Kubernetes 指南】基础入门——Kubernetes 101(二)
  • Java 笔记 transient 用法
  • C语言操作符详解:从基础到进阶
  • linux find命令使用教程
  • 【数学建模论文学习笔记】基于历史数据的蔬菜类商品定价与补货决策模型
  • 1688 item_search_shop 接口参数说明与测试指南
  • 源代码管理工具有哪些?有哪些管理场景?
  • MGER综合实验