Java重难点之集合类


前言

集合Java 是存储数据和保存数据的容器

一、集合的分类

集合的两大接口分别是Collection和Map其结构如下图:

Java重难点之集合类

二、区别如下

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。