Java Collections工具类的用法(附带实例)
Collections 不是接口也不是集合,而是 Collection 接口的工具类,它提供了一系列静态方法对集合元素进行查询、排序和修改等操作,能够操作 Set、List 和 Map 等集合。
下面对 Collections 类的常用方法进行详细介绍。
接下来,通过案例来演示上述方法的使用:
接下来,通过案例来演示上述方法的使用:
下面对 Collections 类的常用方法进行详细介绍。
Java Collections排序操作
Collections 类中定义了一些对 List 集合进行排序的静态方法,如下表所示。| 方法 | 方法描述 |
|---|---|
| static void reverse(List list) | 反转 list 集合中的元素顺序 |
| static void shuffle(List list) | 随机排序 list 集合中的元素 |
| static void sort(List list) | 以自然顺序将 list 集合中的元素排序 |
| static void swap(List list, int i, int j) | 将集合中指定两处位置的元素互换 |
接下来,通过案例来演示上述方法的使用:
import java.util.*;
public class Demo {
public static void main(String[] args) {
List list = new ArrayList(); // 创建集合对象
list.add(5); // 添加元素
list.add(6);
list.add(3);
list.add(1);
list.add(2);
list.add(7);
list.add(4);
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.swap(list, 1, 3); // 将索引为1的元素和索引为3的元素交换位置
System.out.println("交换元素:" + list);
}
}
程序的运行结果如下:
打印集合:[5, 6, 3, 1, 2, 7, 4]
反转集合:[4, 7, 2, 1, 3, 6, 5]
随机排序:[3, 7, 5, 4, 1, 6, 2]
自然顺序:[1, 2, 3, 4, 5, 6, 7]
交换元素:[1, 4, 3, 2, 5, 6, 7]
- 第 1 次打印原始集合;
- 第 2 次使用 reverse() 方法将集合反转后打印;
- 第 3 次使用 shuffle() 方法将集合随机排序打印;
- 第 4 次使用 sort() 方法将集合按自然顺序排序打印;
- 最后使用 swap() 方法将索引为 1 的元素和索引为 3 的元素交换位置并打印。
Java Collections查找、替换操作
Collections 类中还提供了一些静态方法对集合进行查找、替换,如下表所示:| 方法 | 方法描述 |
|---|---|
| static int binarySearch(List list, Object o) | 在已经升序排序的 List 集合中,使用二分法搜索元素在集合中的索引 |
| static Object max(Collection coll) | 返回集合中的最大元素 |
| static Object min(Collection coll) | 返回集合中的最小元素 |
| static boolean replaceAll(List list, Object o1, Object o2) | 用 o2 元素替换 List 集合中所有的 o1 元素 |
| int frequency(Collection coll, Object o) | 返回集合中指定元素出现的次数 |
接下来,通过案例来演示上述方法的使用:
import java.util.*;
public class Demo {
public static void main(String[] args) {
List list = new ArrayList(); // 创建集合对象
list.add(5); // 添加元素
list.add(6);
list.add(3);
list.add(1);
list.add(2);
list.add(7);
list.add(4);
Collections.sort(list); // 先将list集合升序排列
System.out.println(list); // 打印输出list集合
// 打印元素1在list集合中的索引
System.out.println(Collections.binarySearch(list, 1));
System.out.println("集合中的最大元素: " + Collections.max(list));
System.out.println("集合中的最小元素: " + Collections.min(list));
// 在list集合中,用元素6替换元素1
Collections.replaceAll(list, 1, 6);
System.out.println(list); // 再次打印输出list集合
// 打印集合中元素6出现的次数
System.out.println(Collections.frequency(list, 6));
}
}
程序的运行结果如下:
1, 2, 3, 4, 5, 6, 7]
0
集合中的最大元素:7
集合中的最小元素:1
[6, 2, 3, 4, 5, 6, 7]
2
ICP备案:
公安联网备案: