Java 集合框架

来源:互联网 发布:l360清零软件下载 编辑:程序博客网 时间:2024/06/14 01:34

总体分三类

(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.