Collections

只能给单列集合批量添加。

点击查看代码
public class CollectionsDemo1 {
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<>();
//1.批量添加元素
System.out.println("---------------批量添加元素-----------------");
Collections.addAll(list, "abc", "ert", "qwer", "asdf", "cvb", "abc");
System.out.println(list);
//2.打乱List集合顺序
System.out.println("---------------打乱集合顺序-----------------");
Collections.shuffle(list);
System.out.println(list);
}
}
点击查看代码
public class CollectionsDemo2 {
public static void main(String[] args) {
ArrayList<Integer> list1 = new ArrayList<>();
Collections.addAll(list1, 2, 5, 7, 3, 4, 1, 6, 9, 8, 0);
System.out.println(list1);
//1.排序
System.out.println("---------------排序-----------------");
Collections.sort(list1);
System.out.println(list1);
//2.根据制定规则排序
System.out.println("------------指定规则排序--------------");
Collections.sort(list1, (Integer o1, Integer o2) -> o2 - o1);
System.out.println(list1);
//3.以二分查找法查找元素
//需要元素有序
System.out.println("------------二分查找法--------------");
ArrayList<Integer> list2 = new ArrayList<>();
Collections.addAll(list2, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
System.out.println(Collections.binarySearch(list2, 7));
System.out.println(Collections.binarySearch(list2, 2));
System.out.println(Collections.binarySearch(list2, 5));
//4.拷贝集合中的元素
System.out.println("------------拷贝--------------");
//把list3的内容拷贝到list4中
//会覆盖原来的元素
//注意点:如果list3的长度>list4的长度,方法会报错
ArrayList<Integer> list3 = new ArrayList<>();
Collections.addAll(list3, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
ArrayList<Integer> list4 = new ArrayList<>();
Collections.addAll(list4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
Collections.copy(list4, list3);
System.out.println(list4); // [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 0, 0]
//5.使用指定元素填充集合
System.out.println("-------------使用指定元素填充集合-------------");
ArrayList<Integer> list5 = new ArrayList<>();
Collections.addAll(list5, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
Collections.fill(list5, 100);
System.out.println(list5); //数组中的元素全部替换成了100
//6.根据默认的自然排序获得最大/最小值
System.out.println("-------------获得最大/最小值-------------");
ArrayList<Integer> list6 = new ArrayList<>();
Collections.addAll(list6, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
System.out.println(Collections.max(list6));
System.out.println(Collections.min(list6));
//String默认按ascii码表排序
//可以指定最大值最小值规则,例如按长度
System.out.println("-------------获得最大/最小值-------------");
ArrayList<String> list = new ArrayList<>();
Collections.addAll(list, "a", "aaa", "aa", "aaaa");
System.out.println(Collections.max(list, new Comparator<String>() {
@Override
public int compare(String o1, String o2) {
//升序排列
return o1.length() - o2.length();
}
}));
//7.交换集合中指定位置的元素
System.out.println("-------------交换位置-------------");
ArrayList<Integer> list7 = new ArrayList<>();
Collections.addAll(list7, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
Collections.swap(list7, 3, 7);
System.out.println(list7); //[1, 2, 3, 8, 5, 6, 7, 4, 9, 10]
}
}

浙公网安备 33010602011771号