package CollectionsTest;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
public class collectionsTest {
public static void main(String[] args) {
ArrayList<Integer> a =new ArrayList<>();
a.add(40);
a.add(30);
a.add(10);
a.add(50);
a.add(20);
ArrayList<String> s =new ArrayList<>();
s.add("awd");
s.add("aw");
s.add("a");
s.add("b");
s.add("adc");
s.add("vef");
s.add("awadwadawdfaf");
//sort排序
System.out.println("1. "+"排序之前:"+s);
Collections.sort(s);
System.out.println("2. "+"排序之后:"+s);
System.out.println("3. "+"排序之前:"+a);
Collections.sort(a);
System.out.println("4. "+"排序之后:"+a);
//binarySearch二分查找
System.out.println("5. "+Collections.binarySearch(a, 330));
System.out.println("6. "+Collections.binarySearch(a, 20));
//copy复制
//这个方法设置的并不好,需要两个集合的长度一致。
ArrayList<Integer> a2 =new ArrayList<>();
//需要先将让a2的长度与变得与a一样
for (int i = 0; i < a.size(); i++) {
a2.add(0);
}
Collections.copy(a2,a);
System.out.println("7. "+a2);
//reverse反转
Collections.reverse(a);
System.out.println("8. "+a);
//shuffle打乱
Collections.shuffle(a);
System.out.println("9. "+a);
//集合转成数组
Integer[] sd =new Integer[10];
a.toArray(sd);
System.out.print("10. ");
for (Integer i:sd){
System.out.print(i+" ");
}
System.out.println();
Integer[] integers = a.toArray(new Integer[0]);//如果数组长度小于集合,会自动增加至集合一样
System.out.println("11. "+integers.length);
System.out.println("12. "+Arrays.toString(integers));
//数组转成集合
//转成的集合是一个受限集合,不能添加和删除元素
String [] names ={"棋棋","瑶瑶","杨杨"};
List<String> strings = Arrays.asList(names);
System.out.println("13. "+strings);
//把基本类型数组转为集合的时候,需要修改为包装类
int[] i ={31,564,65,64,5646,5465};
List<int[]> ints1 = Arrays.asList(i);
System.out.println("14. "+ints1);
Integer[] i1 ={10,35,54,864,64};
List<Integer> ints = Arrays.asList(i1);
System.out.println("15. "+ints);
}
}
输出结果:
1. 排序之前:[awd, aw, a, b, adc, vef, awadwadawdfaf]
2. 排序之后:[a, adc, aw, awadwadawdfaf, awd, b, vef]
3. 排序之前:[40, 30, 10, 50, 20]
4. 排序之后:[10, 20, 30, 40, 50]
5. -6
6. 1
7. [10, 20, 30, 40, 50]
8. [50, 40, 30, 20, 10]
9. [20, 10, 30, 40, 50]
10. 20 10 30 40 50 null null null null null
11. 5
12. [20, 10, 30, 40, 50]
13. [棋棋, 瑶瑶, 杨杨]
14. [[I@3d494fbf]
15. [10, 35, 54, 864, 64]