写点什么

19《重学 JAVA》-- 集合 (一)

作者:杨鹏Geek
  • 2021 年 12 月 20 日
  • 本文字数:718 字

    阅读完需:约 2 分钟

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()这几个操作。

 

发布于: 2 小时前阅读数: 5
用户头像

杨鹏Geek

关注

你必须比别人更努力 才能看起来毫不费力! 2019.10.26 加入

码农

评论

发布
暂无评论
19《重学JAVA》--集合(一)