avatar

关于java Collections 类的使用

Java Collections

java.util.Collections 是一个工具类,他包含了大量对集合进行操作的静态方法.

方法名 描述
void sort(List list) 按自然升序排序
void sort(List list,Comparator c) 自定义排序规则排序
void shuffle(List list) 随机排序,用于打乱顺序
void reverse(List list) 反转,将列表元素顺序反转
void swap(List list,int i,int j) 交换处于索引 i 和 j 位置的元素
int binarySearch(List list,Object key) 二分查找,列表必须有序,返回找到的元素索引位置
int max(Collection coll) 查找最大值
int min(Collection coll) 查找最小值
void fill(List list,Object obj) 使用obj填充list所有元素
boolean replaceAll(List list,Object oldVal,Object newVal) 使用用newVal替换所有的oldVal
<K,V>Map<K,V> synchronizedList(List list) 将list包装为线程安全的List
List synchronizedList(List list) 将list包装为线程安全的List
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

public class CollectionsDemo {
public static void main(String[] args) {
// 创建一个空List
List<Integer> list = new ArrayList<>();
//赋值
list.add(3);
list.add(5);
list.add(7);
list.add(9);
list.add(12);
System.out.print("初始顺序:");
list.forEach(v -> System.out.print(v + "\t"));


//打乱顺序
Collections.shuffle(list);
System.out.print("\n打乱顺序:");
list.forEach(v -> System.out.print(v + "\t"));

//反转
Collections.reverse(list);
System.out.print("\n反转集合:");
list.forEach(v -> System.out.print(v + "\t"));

//第一个位和最后一位交换
Collections.swap(list,0,list.size()-1);
System.out.print("\n交换第一位和最后一位:");
list.forEach(v -> System.out.print(v + "\t"));

//按自然升序排序
Collections.sort(list);
System.out.print("\nSort排序后:");
list.forEach(v -> System.out.print(v + "\t"));

//二分查找 必须排序后
System.out.print("\n二分查找数值7的位置:"+Collections.binarySearch(list, 7));

//返回线程安全的list
List<Integer> synchronizedList = Collections.synchronizedList(list);
}
}

运算结果:

1
2
3
4
5
6
7
8
$ javac CollectionsDemo.java
$ java CollectionsDemo
初始顺序:3 5 7 9 12
打乱顺序:5 7 3 12 9
反转集合:9 12 3 7 5
交换第一位和最后一位:5 12 3 7 9
Sort排序后:3 5 7 9 12
二分查找数值7的位置:2
文章作者: Depravity-pig
文章链接: https://magicconch17.github.io/2019/12/29/java-collections-2019-12-29/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Cat at ngint
打赏
  • 微信
    微信
  • 支付寶
    支付寶

评论