集合有两大接口:Collection(集合表)和Map(可以称作映射表,其内部类Entry(键值对)有类似<key,value>的结构),Collection有三个子接口List(序列)、Queue(队列)、Set(集):
1、List里面有顺序,可重复,有顺序的列表故称为序列,常见实现类Arraylist(数组序列)由于底层是随机数组,所以具备数组的一些特性;
2、Queue可以理解为排队,因为只能从头上加尾端取,先进先出,所以叫队列,常见实现有LinedList(链表)底层双链表的结构使其更适合增删改,同时也实现了List接口;
3、Set里面的无序,不可重复,如果添加同一个对象引用,Set会将其当成一个,常见的子类时HashSet(哈希集),之所以会把相同的引用对象当成一个是因为每次放进来的时候会对照其Hash值是否存在进而用类似于字符串中的equals()方法对比都不同才添加
4、Map也是无序的,其中一个vlue可以对应多个key,也就是key不可以重复,vlue可以重复。HashMap是一个常用的实现类,也叫哈希表
public class Demo {
public static void main(String[] args) {
//数组
Integer[] ints = {0,0,0,0};
//序列
List<Integer> list = new ArrayList<Integer>(Arrays.asList(ints));
//集
Set<Integer> set = new HashSet<Integer>(Arrays.asList(ints));
//映射表
Map<Object, Object> map = new HashMap<Object, Object>(10,10f);
map.put("0"+"",0);
System.out.println(Arrays.toString(ints));
System.out.println(list);
System.out.println(set);
System.out.println(map);
}
}