JAVA中的Collections 类

文章目录

  • 前言
  • [一、 排序方法 sort() 和 reverseOrder()](#一、 排序方法 sort() 和 reverseOrder())
    • [1. sort(List<T> list)](#1. sort(List<T> list))
    • [2.sort(List<T> list, Comparator<? super T> c)](#2.sort(List<T> list, Comparator<? super T> c))
  • [二、查找方法 max(), min()](#二、查找方法 max(), min())
    • [1.max(Collection<? extends T> coll)](#1.max(Collection<? extends T> coll))
    • [2.min(Collection<? extends T> coll)](#2.min(Collection<? extends T> coll))
    • [3.max(Collection<? extends T> coll, Comparator<? super T> comp)](#3.max(Collection<? extends T> coll, Comparator<? super T> comp))
  • [三、 填充方法 fill(), copy()](#三、 填充方法 fill(), copy())
    • [1.fill(List<? super T> list, T obj)](#1.fill(List<? super T> list, T obj))
    • [2.copy(List<? super T> dest, List<? extends T> src)](#2.copy(List<? super T> dest, List<? extends T> src))
  • [四、反转方法 reverse()](#四、反转方法 reverse())
  • 总结

前言

Collections 是 Java 中的一个工具类,位于 java.util 包中,提供了一些静态方法来操作和返回集合框架中的集合对象。它主要用于操作集合对象,如列表、集合和映射等,提供了排序、查找、反转、填充、交换等常见操作。

Collections和Collection不同,前者是集合的操作类,后者是集合接口

Collections类定义了一系列用于操作集合的静态方法


一、 排序方法 sort() 和 reverseOrder()

注意

实现一个类的对象之间比较大小,该类要实现Comparable接口

并且重写compareTo()方法

1. sort(List list)

将列表中的元素按自然顺序进行排序。适用于元素实现了 Comparable 接口的集合。

java 复制代码
List<Integer> list = Arrays.asList(5, 3, 8, 1);
Collections.sort(list);  // 输出:[1, 3, 5, 8]

2.sort(List list, Comparator<? super T> c)

根据提供的比较器 Comparator 对列表进行排序。

java 复制代码
List<String> list = Arrays.asList("apple", "banana", "cherry");
Collections.sort(list, (s1, s2) -> s2.compareTo(s1));  // 按逆字典顺序排序

二、查找方法 max(), min()

1.max(Collection<? extends T> coll)

返回集合中的最大元素,要求元素实现 Comparable 接口。

java 复制代码
List<Integer> list = Arrays.asList(1, 2, 3, 4);
Integer max = Collections.max(list);  // 输出:4

2.min(Collection<? extends T> coll)

返回集合中的最小元素,要求元素实现 Comparable 接口。

java 复制代码
List<Integer> list = Arrays.asList(1, 2, 3, 4);
Integer min = Collections.min(list);  // 输出:1

3.max(Collection<? extends T> coll, Comparator<? super T> comp)

使用自定义的比较器返回最大元素。

java 复制代码
List<String> list = Arrays.asList("apple", "banana", "cherry");
String max = Collections.max(list, (s1, s2) -> s1.length() - s2.length());  // 按字符串长度比较

三、 填充方法 fill(), copy()

1.fill(List<? super T> list, T obj)

将列表中的每个元素设置为给定的对象 obj。

java 复制代码
List<String> list = new ArrayList<>(Arrays.asList("a", "b", "c"));
Collections.fill(list, "filled");
System.out.println(list);  // 输出:[filled, filled, filled]

2.copy(List<? super T> dest, List<? extends T> src)

将 src 列表的元素复制到 dest 列表。dest 列表必须至少有和 src 列表一样多的元素空间。

java 复制代码
List<String> src = Arrays.asList("a", "b", "c");
List<String> dest = new ArrayList<>(Arrays.asList("x", "y", "z"));
Collections.copy(dest, src);
System.out.println(dest);  // 输出:[a, b, c]

四、反转方法 reverse()

反转列表的元素顺序。

java 复制代码
List<Integer> list = Arrays.asList(1, 2, 3, 4);
Collections.reverse(list);
System.out.println(list);  // 输出:[4, 3, 2, 1]

总结

Collections 是 Java 集合框架中非常实用的工具类,它封装了对集合的常见操作,如排序、查找、填充、复制、反转等,使开发者无需重复造轮子,提高了代码的可读性和开发效率。熟练掌握 Collections 的常用方法,是 Java 开发中提升集合处理能力的重要一步。

相关推荐
善恶怪客几秒前
Java-数组和可变参数
java·开发语言
小编码上说1 分钟前
LSH(局部敏感哈希)分桶,海量数据下的相似性搜索解决方案
java·spring boot·缓存·langchain4j·lsh·局部敏感哈希·ai调用优化
计算机_毕业设计20 分钟前
java-springboot数字藏品系统 基于 SpringBoot 的区块链数字艺术品交易平台 Java 微服务架构下的加密藏品展示与拍卖系统计算机毕业设计
java·spring boot·课程设计
ONVO ncen21 分钟前
Redis6.2.6下载和安装
java
丑八怪大丑23 分钟前
JDK8-17新特性
java·开发语言
京师20万禁军教头34 分钟前
37面向对象(高级)-main方法
java
书源丶34 分钟前
三十五、Java 泛型——类型安全的「万能模板」
java·开发语言·安全
dovens1 小时前
SpringBoot集成MQTT客户端
java·spring boot·后端
❀͜͡傀儡师1 小时前
Spring Boot 集成 RocksDB 实战:打造高性能 KV 存储加速层
java·spring boot·后端·rocksdb
BENA ceic1 小时前
Spring 的三种注入方式?
java·数据库·spring