java后端开发Android技术知识Android开发经验谈

List,Set,Map 详解

2018-02-09  本文已影响159人  Allens_Jiang
老婆保佑,代码无BUG

前言

java语言,博大精深啊,好好撸一撸JAVA编程思想


目录


对比

对比1: 是否实现Collection

类型 是否实现Collection
Map NO
List YES
set YES

对比2:List 和Set对比

类型 元素可重复 是否有序 检索元素效率 删除和插入效率
List YES YES
set NO NO

对比3:ArrayList与LinkedList

类型 查询效率 插入和删除操作效率
Arraylist
LinkedList

对比4:HashSet与Treeset

类型 算法 是否可以存放null 适用场景
HashSet 哈希表 不允许 适用于Map中插入、删除和定位元素
Treeset 二差树 只能放入一个null 适用于按自然顺序或自定义顺序遍历键(key)。

Collection接口的方法

方法 说明
boolean add(Object o) 向集合中加入一个对象的引用
void clear() 删除集合中所有的对象,即不再持有这些对象的引用
boolean isEmpty() 判断集合是否为空
boolean contains(Object o) 判断集合中是否持有特定对象的引用
Iterartor iterator() 返回一个Iterator对象,可以用来遍历集合中的元素
boolean remove(Object o) 从集合中删除一个对象的引用
int size() 返回集合中元素的数目
Object[] toArray() 返回一个数组,该数组中包括集合中的所有元素

Collection没有get()方法来取得某个元素。只能通过iterator()遍历元素。

方法 说明
hasNext() 判断集合中元素是否遍历完毕,如果没有,就返回true
next() 返回下一个元素
remove() 从集合中删除上一个有next()方法返回的元素。
上一篇 下一篇

猜你喜欢

热点阅读