Collections工具类
java.util.Collections;
是集合的工具类- 作用:Collections不是集合,而是集合的工具类
Collections常用的API
方法名称 | 说明 |
---|---|
public static <T> boolean addAll(Collection<T> c,T... elements) | 批量添加元素 |
public static void shuffle(List<?> list) | 打乱list集合元素的顺序 |
public static <T> void sort(List<T> list) | 排序 |
public static <T> void sort(List<T> list, Comparator<T> c) | 根据指定的规则进行排序 |
public static <T> int binarySearch(List<T> list,T key) | 以二分查找法查找元素 |
public static <T> void copy (List<T> dest,List<T> src) | 拷贝集合中的元素 |
public static <T> int fill(List<T> list, T obj) | 使用指定的元素填充集合 |
public static <T> void max/min(Collection<T> coll) | 根据默认的自然排序获取最大/最小值 |
public static <T> void swap(List<?> list, int i, int j) | 交换集合中指定的位置的元素 |
代码展示
添加元素并打乱
import java.util.ArrayList;
import java.util.Collections;
public class CollectionsDemo {
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<>();
//批量添加元素
Collections.addAll(list, "a", "b", "c", "d");
System.out.println(list);
//打乱集合中的元素顺序
Collections.shuffle(list);
System.out.println(list);
}
}
排序
//默认升序
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
public class CollectionsDemo {
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<>();
//批量添加元素
Collections.addAll(list, "a", "b", "c", "d");
System.out.println(list);
//打乱集合中的元素顺序
Collections.shuffle(list);
System.out.println(list);
//排序
Collections.sort(list);
System.out.println(list);
}
}
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
public class CollectionsDemo {
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<>();
//批量添加元素
Collections.addAll(list, "a", "b", "c", "d");
System.out.println(list);
//打乱集合中的元素顺序
Collections.shuffle(list);
System.out.println(list);
//根据指定规则进行排序
Collections.sort(list, new Comparator<String>() {
@Override
public int compare(String o1, String o2) {
return o2.compareTo(o1);
}
});
System.out.println(list);
}
}
以二分法查找元素
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
public class CollectionsDemo {
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<>();
//批量添加元素
Collections.addAll(list, "a", "b", "c", "d");
System.out.println(list);
//打乱集合中的元素顺序
Collections.shuffle(list);
System.out.println(list);
//以二分法查找元素
Collections.sort(list);
int binarySearch = Collections.binarySearch(list, "a");
System.out.println(binarySearch);
/*
使用二分搜索法搜索指定列表,以获得指定对象。
在进行此调用之前,必须根据列表元素的自然顺序对列表进行升序排序(通过 sort(List) 方法)。
如果没有对列表进行排序,则结果是不确定的。
如果列表包含多个等于指定对象的元素,则无法保证找到的是哪一个。
*/
}
}
拷贝元素
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
public class CollectionsDemo {
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<>();
//批量添加元素
Collections.addAll(list, "a", "b", "c", "d");
System.out.println(list);
//打乱集合中的元素顺序
Collections.shuffle(list);
System.out.println(list);
//拷贝集合中的元素
ArrayList<String> list1 = new ArrayList<>();
Collections.addAll(list1, "1", "2", "3", "4");
Collections.copy(list1, list);
System.out.println(list1);
System.out.println(list);
}
}
根据默认的自然排序获取最大/最小值
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
public class CollectionsDemo {
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<>();
//批量添加元素
Collections.addAll(list, "a", "b", "c", "d");
System.out.println(list);
//打乱集合中的元素顺序
Collections.shuffle(list);
System.out.println(list);
//根据默认的自然排序获取最大/最小值
String max = Collections.max(list);
System.out.println(max);
String min = Collections.min(list);
System.out.println(min);
}
}
交换集合中的指定位置的元素
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
public class CollectionsDemo {
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<>();
//批量添加元素
Collections.addAll(list, "a", "b", "c", "d");
System.out.println(list);
//打乱集合中的元素顺序
Collections.shuffle(list);
System.out.println(list);
//交换集合中指定的位置的元素
Collections.sort(list);
Collections.swap(list, 0, 3);
System.out.println(list);
}
}
使用指定的元素填充集合
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
public class CollectionsDemo {
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<>();
//批量添加元素
Collections.addAll(list, "a", "b", "c", "d");
System.out.println(list);
//打乱集合中的元素顺序
Collections.shuffle(list);
System.out.println(list);
//使用指定的元素填充集合
Collections.fill(list, "f");
System.out.println(list);
}
}
链接: Collections工具类综合练习