集合
集合:将多个元素放入到一个集合对象中去,对应的集合对象就可以用来存储多元素。
Collection接口的子接口:Set接口和List接口。
Map不是Collection接口的子接口。
Collection接口是将一组对象以集合元素的形式组织到一起,在器子接口中分别实现不同的组织方式。
Collection接口的创建需要使用其子接口中的实现类包括:ArrayList类、LinkedList类、Vector类、Stack类
LinkedList双向链表的存储结构,存储元素的规律是先进先出,后进后出。
Vector也可以用来创建一个变长的数组对象,同样也保存了对数组进行操作的方法。
Stack类存储数据先进后出,后进先出
如果我们需要创建一个Collection接口的对象,就可以采用将接口的实现类的对象赋给接口的引用。
Collection col = new ArrayList(); |
Set 接口:是Collection 接口的子接口。在Set集合中存储数据是无需的并不重复,如果在相同的操作中存储相同的数据则后存储的数据会将前已经存在的数据替换
Set接口的实现类:TreeSet类(有序)和HashSet类(无序)
创建一个Set集合
Set<泛型> set = new HashSet<泛型>(); |
List接口:是Collection 接口的子接口。在List集合中存储数据是有序能重复的。
一个List集合中能不能存储空的字符串(打印List的长度)
创建一个List的集合对象
List<泛型> list = new ArrayList<>(); |
Map接口:不是Collection接口的子接口,它的实现类HashMap、TreeMap、HashTable、WeakHashMap
Map集合中存储数据是以K-V的形式存储数据,在Map集合中key的值不能重复,value的值可以重复。
创建一个Map集合对象
Map<泛型>map = new HashMap<泛型>(); Map<泛型>map1 = new HashMap<泛型>(); |
HashMap与HashTable的区别?
² HashMap运行有null的值HashTable不允许有Null的值
² HashMap方法不同步 HashTable方法同步
² HashMap中containValue方法 HashTable有一个contain方法
² HashMap线程不安全 HashTable线程安全
² HashMap使用迭代输出 HashTable使用枚举输出