package com.yundait.demo02;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
public class CollectionsDemo01 {
public static void main(String[] args) {
//创建ArrayList集合
List<Integer> list = new ArrayList<>();
//添加元素
list.add(10);
list.add(8);
list.add(90);
list.add(64);
list.add(3);
list.add(101);
list.add(34);
//使用Collections工具类的sort方法对集合进行排序,默认为升序
System.out.println("排序之前" + list);
Collections.sort(list);
System.out.println("排序之后" + list);
//使用binarySearch方法对排序过的集合元素进行二分查找
int i = Collections.binarySearch(list, 10);
System.out.println(i);
//copy复制
ArrayList<Integer> dest = new ArrayList<>();
//需要保证复制集合的大小和被复制集合的大小一致
for (int j = 0; j < list.size(); j++) {
dest.add(0);
}
Collections.copy(dest,list);
System.out.println(dest);
//reverse反转
Collections.reverse(list);
System.out.println(list);
//shuffle 打乱
System.out.println("-------------");
Collections.shuffle(list);
System.out.println(list);
//把List转成数组
Integer[] array = list.toArray(new Integer[0]);
System.out.println(array.length);
System.out.println(Arrays.toString(array));
//把数组转化成list集合
String[] name = {"张三","李四","王五"};
List<String> list1 = Arrays.asList(name);
System.out.println(list1);
//list1.add("赵六");
list1.remove("张三");
// 转换后的集合是受限集合,不能添加元素,也不能删除元素
//把基本类型数组转换为集合时,需要把基本类型修改为包装类型
Integer[] mun ={100,200,90,80,88,66,33,77};
List<Integer> list2 = Arrays.asList(mun);
System.out.println(list2);
}
}
2.集合总结
集合的概念:对象的容器,和数组类似,定义了对多个对象进行操作的常用方法;
List集合:有序,由下标,元素可以重复(ArrayList、LinkedList、Vector)
Set集合:无序、无下标、元素不可以重复(HashSet、TreeSet)
Map集合:存储一对数据,无序、无下标、键不可重复、值可重复(HashMap、HashTable、TreeMap)
Collections:工具类,定义了除了存取以外的集合的常用方法;