java集合框架之Collections

时间:2021-08-19 12:58:44

参考http://how2j.cn/k/collection/collection-collections/369.html

Collections是一个类,容器的工具类,就如同Arrays是数组的工具类

反转

reverse 使List中的数据发生翻转

package collection;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List; public class TestCollection {
public static void main(String[] args) {
//初始化集合numbers
List<Integer> numbers = new ArrayList<>(); for (int i = ; i < ; i++) {
numbers.add(i);
} System.out.println("集合中的数据:");
System.out.println(numbers); Collections.reverse(numbers); System.out.println("翻转后集合中的数据:");
System.out.println(numbers); }
}

混淆

shuffle 混淆List中数据的顺序

package collection;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List; public class TestCollection {
public static void main(String[] args) {
//初始化集合numbers
List<Integer> numbers = new ArrayList<>(); for (int i = ; i < ; i++) {
numbers.add(i);
} System.out.println("集合中的数据:");
System.out.println(numbers); Collections.shuffle(numbers); System.out.println("混淆后集合中的数据:");
System.out.println(numbers); }
}

排序

sort 对List中的数据进行排序

package collection;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List; public class TestCollection {
public static void main(String[] args) {
//初始化集合numbers
List<Integer> numbers = new ArrayList<>(); for (int i = ; i < ; i++) {
numbers.add(i);
} System.out.println("集合中的数据:");
System.out.println(numbers); Collections.shuffle(numbers);
System.out.println("混淆后集合中的数据:");
System.out.println(numbers); Collections.sort(numbers);
System.out.println("排序后集合中的数据:");
System.out.println(numbers); }
}

交换

swap 交换两个数据的位置

package collection;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List; public class TestCollection {
public static void main(String[] args) {
//初始化集合numbers
List<Integer> numbers = new ArrayList<>(); for (int i = ; i < ; i++) {
numbers.add(i);
} System.out.println("集合中的数据:");
System.out.println(numbers); Collections.swap(numbers,,);
System.out.println("交换0和5下标的数据后,集合中的数据:");
System.out.println(numbers); }
}

滚动

rotate 把List中的数据,向右滚动指定单位的长度

package collection;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List; public class TestCollection {
public static void main(String[] args) {
//初始化集合numbers
List<Integer> numbers = new ArrayList<>(); for (int i = ; i < ; i++) {
numbers.add(i);
} System.out.println("集合中的数据:");
System.out.println(numbers); Collections.rotate(numbers,);
System.out.println("把集合向右滚动2个单位,标的数据后,集合中的数据:");
System.out.println(numbers); }
}

线程安全化

synchronizedList 把非线程安全的List转换为线程安全的List。

package collection;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List; public class TestCollection {
public static void main(String[] args) {
List<Integer> numbers = new ArrayList<>(); System.out.println("把非线程安全的List转换为线程安全的List");
List<Integer> synchronizedNumbers = (List<Integer>) Collections.synchronizedList(numbers); }
}