Java重难点之集合类
文章目录
前言
集合Java 是存储数据和保存数据的容器一、集合的分类
集合的两大接口分别是Collection和Map其结构如下图:
二、区别如下
Collection接口:
定义所有单列(List,Set)集合中共性的接口 所有单列集合都可以使用共性的接口,比如迭代器(Iterator);
List接口:有序集合(存储和取出的顺序相同),允许存储重复元素;
Set接口:无序集合(存储和取出的顺序不同),不允许存储重复元素;
Map接口:
HashMap 是一个散列表,它存储的内容是键值对(key-value)映射 , HashMap 的实现不是同步的,这意味着它不是线程安全的。它的key、value都可以为null。此外,HashMap中的映射不是有序的。
TreeMap 不允许键对象为null,因为集合中的映射关系是根据键对象按照一定顺序排列的,TreeMap 由红黑树算法。
Hashtable Hashtable的方法上大多都加了synchronized所以是线程安全的,所以效率并不高。Hashtable不允许Key为null,也不允许Value为null。