总体分三类
(Collecton)Set、 List和 Map 。
整体接口框架图:
分类:
Set 负责采集元素不包括元素的数量和顺序,所以不能重复。所以没有size()方法,要想遍历只能是用java.util.Iterator集合。
List 是一个元素序列包含元素的顺序和数量,是可以重复的。
Map 是一个键值和属性的关联。
Collection 提供成批操作对象的方法 iterator() toArray() contains(Object o) size() isEmpty()
List 常用的实现类有LinkedList 和ArrayList 两个类的 两个类的物理存储结构不一样,前者是顺序存储结构,适合随机访问。而后者是链式存储结构适合于频繁删除和插入。
Set 常用的实现类HashSet 和TreeSet HashSet采用散列的物理存储结构适合快速查找。但放在HashSet里的对象必须实现HashCode方法。TreeSet使用树型逻辑结构,要求元素存放是按顺序存放,所以必须实现Comparable和Comparator接口。
Map 常用的实现类 HashMap HashTable 常用的方法 关键字集set keySet() 数值集Collection values().
补充:
(1)逻辑结构和物理存储结构
有三类基本逻辑结构: 集合:数据元素除了同属于一种类型
线性结构:元素之间存在一对一关系
树形结构:元素之间存在一对多关系
图状结构:(网状结构):元素之间存在多对多关系
有四种基本映射模型:顺序(sequential)、链接(linked)、索引(indexed)和散列(hashing)映射。
(2)金典区别
Collecton和Collections:Collection是在java.util下的接口是所有集合类的接口。Collections是java.util下的一个类,提供了一些操作集合累的静态方法,如排序,查找,同步等。
HashMap 和HashTable的区别 HashMap 是非同步的,但键或者值都可以为null,而HashTable是同步的,但键或者值是不能为null.