首先来看看Collection和Collections的区别,Collection和Collections是完全不同的两个概念。Collections是个java.util下的类,它包含有各种有关集合操作的静态方法。 Collection是个java.util下的接口,它是各种集合结构的父接口。
Collection是各种集合的接口,来看看下边这个层次结构:
package test922;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.Set;
public class CollectionTest {
public static void main(String[] args) {
List<String> al = new ArrayList<String>();
al.add("Program");
al.add("Java");
al.add("Java");
al.add("Creek");
System.out.print("ArrayList Elements:");
System.out.println(al + "\n");
List<String> ll = new LinkedList<String>();
ll.add("Program");
ll.add("Java");
ll.add("Java");
ll.add("Creek");
System.out.print("LinkedList Elements:");
System.out.println(ll + "\n");
// 注意set是可以去重的
Set<String> hs = new HashSet<String>(); // or new TreeSet() will order the elements;
hs.add("Program");
hs.add("Java");
hs.add("Java");
hs.add("Creek");
System.out.print("HashSet Elements:");
System.out.println(hs + "\n");
// 注意map是乱序的
Map<String, String> hm = new HashMap<String, String>(); // or new TreeSet() will order the elements;
hm.put("Windows", "2000");
hm.put("Windows", "XP");
hm.put("Language", "Java");
hm.put("Website", "programcreek.com");
System.out.print("HashMap Elements:");
System.out.println(hm + "\n");
}
}
运行结果:
ArrayList Elements:[Program, Java, Java, Creek]
LinkedList Elements:[Program, Java, Java, Creek]
HashSet Elements:[Java, Program, Creek]
HashMap Elements:{Language=Java, Website=programcreek.com, Windows=XP}