欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

java Collections工具类

程序员文章站 2022-03-09 20:22:21
...

1. Collection和Collections有什么区别?

  • Collection是集合体系的最顶层,包含了集合体系的共性
  • Collections是一个工具类,方法都是用于操作Collection

2. binarySearch 二分查找

static int binarySearch(List list, Object key)

List<Integer> list = new ArrayList<Integer>();
list.add(1);
list.add(2);
list.add(3);
list.add(4);

int index = Collections.binarySearch(list, 4);
System.out.println(index);

3. copy 把源列表中的数据覆盖到目标列表

static void copy(List dest, List src)

//注意:目标列表的长度至少等于源列表的长度
//创建源列表
List<String> src = new ArrayList<String>();
src.add("hello");
src.add("world");
src.add("java");

//创建目标列表
List<String> dest = new ArrayList<String>();
dest.add("java");
dest.add("java");
dest.add("java");
dest.add("java");
Collections.copy(dest, src);
System.out.println(dest);

4. fill 使用指定的对象填充指定列表的所有元素

static void fill(List list, Object obj)

List<String> list = new ArrayList<String>();
list.add("hello");
list.add("world");
list.add("java");
System.out.println(list);

Collections.fill(list, "android");

System.out.println(list);

5. reverse 反转

static void reverse(List list)

List<Integer> list = new ArrayList<Integer>();
list.add(1);
list.add(2);
list.add(3);
list.add(4);

Collections.reverse(list);
System.out.println(list);

6. shuffle 随机置换

static void shuffle(List list)

List<Integer> list = new ArrayList<Integer>();
list.add(1);
list.add(2);
list.add(3);
list.add(4);
Collections.shuffle(list);
System.out.println(list);

7. sort 排序

static void sort(List<T> list)

List<Integer> list = new ArrayList<Integer>();
list.add(1);
list.add(4);
list.add(3);
list.add(2);

Collections.sort(list);
System.out.println(list);

8. swap 位置互换

static void swap(List list, int i, int j)

List<Integer> list = new ArrayList<Integer>();
list.add(1);
list.add(4);
Collections.swap(list, 0, 1);

System.out.println(list);