替换元素
- array = new Integer[]{
- 3, 10, 4, 4, 4
- };
- integers = Arrays.asList(array);
- Collections.replaceAll(integers, 4, -4);
- out.println(integers); //[3, 10, -4, -4, -4]
拷贝 List
- out.println(integers); //[3, 10, -4, -4, -4]
- List<Integer> integersCopy = new ArrayList<>(); integersCopy.add(1);
- integersCopy.add(1);
- integersCopy.add(1);
- integersCopy.add(1);
- integersCopy.add(1);
- integersCopy.add(1);
- // 如果不对 List 调用 add 方法, integerCopy 还是空的, 下面的 copy 方法会出错
- Collections.copy(integersCopy, integers);
- out.println(integersCopy); //[3, 10, -4, -4, -4, 1]
返回 List 中的最大值, 最小值
- array = new Integer[]{
- 3, 10, 4, 0, 2
- };
- integers = Arrays.asList(array);
- out.println(integers);
- out.println(Collections.min(integers)); //0
- out.println(Collections.max(integers)); //10
源列表中第一次和最后一次出现指定列表的起始位置
- Integer[] array1 = new Integer[]{
- 3, 10, 4, 0, 2, 4, 0
- };
- List integers1 = Arrays.asList(array1);
- Integer[] array2 = new Integer[]{
- 4, 0
- };
- List integers2 = Arrays.asList(array2);
- out.println(Collections.lastIndexOfSubList(integers1, integers2)); //5
- out.println(Collections.indexOfSubList(integers1, integers2)); //2
循环移动
- out.println(integers); [3, 10, 4, 0, 2]
- Collections.rotate(integers, 1); //[2, 3, 10, 4, 0] 依次右移一位
- out.println(integers);
- Collections.rotate(integers, -2); //[10, 4, 0, 2, 3] 依次左移两位
- out.println(integers);
二分查找, 返回所在的下标. 没有找到返回负的下标值.
- array = new Integer[]{
- 0, 2, 4, 10, 20
- };
- integers = Arrays.asList(array);
- out.println(Collections.binarySearch(integers, 4)); //2
- out.println(Collections.binarySearch(integers, 9)); //-4
指定元素在集合中出现的次数
- array = new Integer[]{
- 0, 2, 4, 4, 20
- };
- integers = Arrays.asList(array);
- out.println(Collections.frequency(integers, 4)); //2
得到对象的 n 份拷贝
- List<Integer> numbers = new ArrayList<>();
- numbers.add(1);
- List<List<Integer>> lists = Collections.nCopies(3, numbers);
- out.println(lists); //[[1], [1], [1]]
- numbers.add(2);
- out.println(lists); //[[1, 2], [1, 2], [1, 2]]
Collections.nCopies(n, object) 返回一个 List 对象, 该 List 对象中含有对象 object 的 n 份拷贝, 然而实际上列表中并没有存储 n 份拷贝, 从中任意取出一个时, 得到的是同一个 object.
---------------------
作者: DaydreamerZz
来源: http://www.bubuko.com/infodetail-3110709.html