A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 我的最优解 中级黑马   /  2015-6-18 23:31  /  739 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

集合架构支持3种类型的集合:规则集(Set),线性表(List),和图(Map),分别定义在SetListMap中。

Set实例存储一组互不相同的元素(集合),

List实例存储一组顺序排列的元素(表),

Map存储一组 对象---关键值的映射

总的架构如下:

Collection接口: 

       Set接口:

            HashSet具体类

            LinkedHashSet具体类

            TreeSet具体类

       List接口: 

            ArrayList具体类

            LinkedList具体类

            向量类Vector具体类

            Stack具体类

Map接口:

       HashMap

       LinkedHashMap

       TreeMap类            

  HashSet的对象必须实现hashCode方法,javaAPI大多数类实现了hashCode方法。

  LinkedHashSet实现了对HashSet的扩展,支持规则集内元素的排序,在HashSet中元素是没有顺序的,而在LinkedHashSet中,可以按元素插入集合的顺序进行提取

TreeSet保证集中的元素是有序的,有2种方法可以实现对象之间的可比较性:

1,添加到TreeSet的对象实现了Comparable接口;

2,给规则集的元素指定一个比较器(Comparator

1. Collection 接口

Collection接口是 Set List Queue 接口的父接口,提供了多数集合常用的方法声明,包括 add()remove()contains() size() iterator() 等。

2.Iterator接口

Iterator

也是Java集合框架的成员,主要用于遍历(即迭代访问)Collection集合中的元素,也称为迭代器。

提供的三种方法:

boolean hasNext():返回集合里的下一个元素。

Object next():返回集合里下一个元素。

void remove();删除集合里上一次next方法返回的元素。

3.List的功能

List虽然绝大多数时候,只是用add()加对象,用get()取对象,用iterator()获取这个序列的Iterator,但List还有一些别的很有用的方法。

实际上有两种List:擅长对元素进行随机访问的,较常用的ArrayList,和更强大的LinkedListLinkedList不是为快速的随机访问而设计的,但是它却有一组更加通用的方法。

Lisk(接口):List的最重要的特征就是有序;它会确保以一定的顺序保存元素。ListCollection的基础上添加了大量方法,使之能在序列中间插入和删除元素。(只对LinkedList推荐使用。)List可以制造ListIterator对象,你除了能用它在List的中间插入和删除元素之外,还能用它沿两个方法遍历List

ArrayList*:一个用数组实现的List。能进行快速的随机访问,但是往列表中间插入和删除元素的时候比较慢。ListIterator只能用在反向遍历ArrayList的场合,不要用它来插入和删除元素,因为相比LinkedList,在ArrayList里面用ListIterator的系统开销比较高。

LinkedList:对顺序访问进行了优化。在List中间插入和删除元素的代价也不高。随机访问的速度相对较慢。(用ArrayList吧。)此外它还有addFirst()addLast()getFirst()getLast()removeFirst()removeLast()等方法(这些方法,接口和基类均未定义),你能把它当成栈(stack),队列(queue)或双向队列(deque)来用。


4 个回复

倒序浏览
楼主多来点其他的总结啊
回复 使用道具 举报
要是再有几个代码提示就好了
回复 使用道具 举报
不错,学习了
回复 使用道具 举报
嗯。。。还不错。。。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马