Collections工具类
- 概念:集合工具类,定义了除了存取以外的集合常用方法。
- 方法:
public static void reverse(List<?> list) //反转集合中元素的顺序
public static void shuffle(List<?> list) //随机重置集合的元素顺序
public static void sort(List<?> list) //升序排序(元素类型必须实现Comparable接口)
实践:
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
/**
* 演示Collections工具类的使用
*/
public class Demo04 {
public static void main(String[] args) {
//创建对象
List<Integer> list = new ArrayList<>();
//添加元素
list.add(5);
list.add(4565);
list.add(1);
list.add(22);
list.add(345);
list.add(23);
System.out.println("元素个数:"+list.size());
System.out.println(list.toString());
//Sort排序
Collections.sort(list);
System.out.println("排序:"+list.size());
System.out.println(list.toString());
//binarySearch查找
int n1 = Collections.binarySearch(list,4565);
System.out.println("查找:"+n1);
//Copy复制
List<Integer> dest = new ArrayList<>();
for (int i = 0; i < list.size(); i++) {
dest.add(0);
}
Collections.copy(dest,list);
System.out.println("复制:"+dest.toString());
//reverse反转
Collections.reverse(list);
System.out.println("反转:"+list.toString());
//shuffle打乱(洗牌)
Collections.shuffle(list);
System.out.println("打乱:"+list.toString());
//补充:集合转数组
System.out.println("———————————集合转数组———————————");
Integer[] array = list.toArray(new Integer[0]);
System.out.println(array.length);
System.out.println(Arrays.toString(array));
//补充:数组转集合
System.out.println("———————————数组转集合———————————");
List<Integer> list1 =Arrays.asList(array);//数组转为的集合是一个受限集合,无法添加和删除。
System.out.println(list1.toString());
//把基本类型转数组换为集合时,需要修改为包装类型。
int[] nums = {1,2,3,4,5};
List<int[]> list2 = Arrays.asList(nums);
System.out.println(list2.toString());
}
}
集合框架总结
- 集合的概念:
- 对象的容器,和数组类似,定义了对多个对象进行操作的常用方法。
- List集合:
- 有序、有下标、元素可以重复。(ArrayList、LinkedList、Vector).
- Set集合:
- 无序、无下标、元素不可重复。(HashSet、TreeSet)
- Map集合:
- 存储一对数据,无序、无下标,键不可重复,值可重复。(HashMap、HashTable、TreeMap)
- Collections:
- 集合工具类,定义了除了存取以外的集合常用方法。