19《重学 JAVA》-- 集合 (一)
一、集合简述
Java 中提供了丰富的集合接口和类,它们来自于 java.util 包。Java 主要的集合接口和类,从图中可见 Java 集合类型分为:Collection 和 Map,Collection 子接口有:Set、Queue 和 List 等接口。 每一种集合接口描述了一种数据结构。
在 JAVA 集合中 Collection 和 Map,是集合框架的根接口。
Collection 接口中的子接口有 Set、List、Queue。
Set 接口:实现类:HashSet、LinkedHashSet
List 接口:实现类:LinkedList,Vector,ArrayList
有序列表
允许存放重复的元素,实现类。
ArrayList:数组实现,查询快,增删慢,轻量级,但是线程不安全。
LinkedList:双向链表实现,增删快,查询慢,但是线程不安全。
Vector:数组实现,重量级,线程安全、但是使用比较少。
Set 集合
扩展 Collection 接口
无序集合,不允许存放重复的元素;允许使用 null 元素对 add()、equals()和 hashCode()方法添加了限制 HashSet 和 TreeSet 是 Set 的实现。
Map 集合
集合框架的第二类接口树。
它提供了一组键值的映射。其中存储的每个对象都有一个相应的关键字(key),关键字决定了对象在 Map 中的存储位置。关键字应该是唯一的,每个 key 只能映射一个 value。
集合遍历
增强 for 循环 for(Obj o:c){System.out.println(o)}
使用 iterator,Iterator it=a.iterator;
while(it.hasNext()){Object o = it.next()}
普通循环:for(Iterator it=c.iterator();it.hasNext();){it.next() }
其他
由于 Collection 接口相关还有一个抽象类 AbstractCollection:
AbstractCollection 是一个抽象类,实现了 Collection 接口的部分功能,实现了一些最基本的通用操作,把复杂的和业务相关的延迟到子类实现。
在 AbstractCollection 中,主要实现了 contains(), isEmpty(), toArray(), remove(), clear()这几个操作。
版权声明: 本文为 InfoQ 作者【杨鹏Geek】的原创文章。
原文链接:【http://xie.infoq.cn/article/4a20ea34774e04b4bdb4c5358】。文章转载请联系作者。
评论