在集合的应用开发中,集合的若干接口和若干个子类是最最常使用的,但是在JDK中提供了一种集合操作的工具类 —— Collections,可以直接通过此类方便的操作集合。 Collections类的定义: public class Collections extends Object
Collections类的常用方法及常量
No. | 方法 | 类型 | 描述 |
1 | public static final List EMPTY_LIST | 常量 | 返回一个空的List集合 |
2 | public static final Set EMPTY_SET | 常量 | 返回空的Set集合 |
3 | public static final Map EMPTY_MAP | 常量 | 返回空的Map集合 |
4 | public static <T> boolean addAll(Collection<? super T> c, T... a) | 普通 | 为集合添加内容 |
5 | public static <T extends Object & Comparable<? super T>> T max(Collection<? extends T> coll) | 普通 | 找到最大的内容,按比较器排序 |
6 | public static <T extends Object & Comparable<? super T>> T min(Collection<? extends T> coll) | 普通 | 找到集合中的最小内容,按比较器排序 |
7 | public static <T> boolean replaceAll(List<T> list,T oldVal,T newVal) | 普通 | 用新的内容替换集合的指定内容 |
8 | public static void reverse(List<?> list) | 普通 | 集合反转 |
9 | public static <T> int binarySearch(List<? extends Comparable<? super T>> list,T key) | 普通 | 查找集合中的指定内容 |
10 | public static final <T> List<T> emptyList() | 普通 | 返回一个空的List集合 |
11 | public static final <K,V> Map<K,V> emptyMap() | 普通 | 返回一个空的Map集合 |
12 | public static final <T> Set<T> emptySet() | 普通 | 返回一个空的Set集合 |
13 | public static <T extends Comparable<? super T>> void sort(List<T> list) | 普通 | 集合排序操作,根据Comparable接口进行排序 |
14 | public static void swap(List<?> list,int i,int j) | 普通 | 交换指定位置的元素 |
实例操作一:返回不可变的集合
import java.util.Collections;import java.util.List;import java.util.Set;public class CollectionsDemo01 { public static void main(String[] args) { ListallList = Collections.emptyList() ;// 返回不可变的空List集合 Set allSet = Collections.emptySet() ; // 返回不可变的空Set集合 allList.add("Hello") ; // 错误,无法加入 }}
实例操作二:为集合增加内容
import java.util.ArrayList;import java.util.Collections;import java.util.Iterator;import java.util.List;public class CollectionsDemo02 { public static void main(String[] args) { Listall = new ArrayList (); // 实例化List Collections.addAll(all, "A", "B", "C"); // 增加内容 Iterator iter = all.iterator() ; // 实例化Iterator对象 while (iter.hasNext()) { // 迭代输出 System.out.print(iter.next() + "、"); // 输出内容 } }}
实例操作三:反转集合中的内容
import java.util.ArrayList;import java.util.Collections;import java.util.Iterator;import java.util.List;public class CollectionsDemo03 { public static void main(String[] args) { Listall = new ArrayList (); // 实例化List Collections.addAll(all, "A", "B", "C"); // 增加内容 Collections.reverse(all) ; // 内容反转保存 Iterator iter = all.iterator() ; // 实例化Iterator对象 while (iter.hasNext()) { // 迭代输出 System.out.print(iter.next() + "、"); // 输出内容 } }}
实例操作四:检索内容
import java.util.ArrayList;import java.util.Collections;import java.util.List;public class CollectionsDemo04 { public static void main(String[] args) { Listall = new ArrayList (); // 实例化List Collections.addAll(all, "A", "B", "C"); // 增加内容 int point = Collections.binarySearch(all, "C") ; // 检索内容 System.out.println("检索结果:" + point); // 输出位置 point = Collections.binarySearch(all, "D") ; // 检索内容,内容不存在 System.out.println("检索结果:" + point); // 输出位置 }}
实例操作五:替换集合中的内容
import java.util.ArrayList;import java.util.Collections;import java.util.Iterator;import java.util.List;public class CollectionsDemo05 { public static void main(String[] args) { Listall = new ArrayList (); // 实例化List Collections.addAll(all, "A", "B", "C"); // 增加内容 if(Collections.replaceAll(all, "A", "D")){ // 替换内容 System.out.println("内容替换成功!"); // 输出信息 } System.out.print("替换之后的结果:") ; // 输出信息 Iterator iter = all.iterator() ; // 实例化Iterator对象 while (iter.hasNext()) { // 迭代输出 System.out.print(iter.next() + "、"); // 输出内容 } }}
实例操作六:集合排序
import java.util.ArrayList;import java.util.Collections;import java.util.Iterator;import java.util.List;public class CollectionsDemo06 { public static void main(String[] args) { Listall = new ArrayList (); // 实例化List Collections.addAll(all, "1、A", "2、B", "5、M"); // 增加内容 Collections.addAll(all, "3、X"); // 增加内容 Collections.addAll(all, "4、Z"); // 增加内容 System.out.print("排序之前的集合:"); // 输出信息 Iterator iter = all.iterator() ; // 实例化Iterator对象 while (iter.hasNext()) { // 迭代输出 System.out.print(iter.next() + "、"); // 输出内容 } Collections.sort(all) ; // 集合排序 System.out.print("\n排序之后的集合:") ; // 输出信息 iter = all.iterator() ; // 实例化Iterator对象 while (iter.hasNext()) { // 迭代输出 System.out.print(iter.next() + "、"); // 输出内容 } }}
实例操作七:交换指定位置的内容
import java.util.ArrayList;import java.util.Collections;import java.util.Iterator;import java.util.List;public class CollectionsDemo07 { public static void main(String[] args) { Listall = new ArrayList (); // 实例化List Collections.addAll(all, "1、A", "2、B", "3、C"); // 增加内容 System.out.print("交换之前的集合:") ; // 输出信息 Iterator iter = all.iterator() ; // 实例化Iterator对象 while (iter.hasNext()) { // 迭代输出 System.out.print(iter.next() + "、"); // 输出内容 } Collections.swap(all,0,2) ; // 交换指定位置的内容 System.out.print("\n交换之后的集合:") ; // 输出信息 iter = all.iterator() ; // 实例化Iterator对象 while (iter.hasNext()) { // 迭代输出 System.out.print(iter.next() + "、"); // 输出内容 } }}