首页 > 代码库 > 用一个集合这么难?

用一个集合这么难?

集合

 


有序否

允许元素重复否

Collection

List

Set

AbstractSet

HashSet

TreeSet

是(用二叉树排序)

Map

AbstractMap

使用key-value来映射和存储数据,Key必须惟一,value可以重复

HashMap

TreeMap

是(用二叉树排序)

 

目的:

用数组存储数据时只能具有简单的组织形式,而且大小有时候也不确定的需求也无法满足,因此需要具有更多操作的集合来进行数据存储

分类:

Vector(矢量)

Bitset(位集)

Stack(栈)

Hashtable(散列表):

在散列表中有一系列问题,再存入一个对象充当key的时候,存入方式的…

缺点:

  1. 由于对于通用性的考虑,集合存储对象时,会丢弃对象的类型,任何对象都可以进入集合
  1. 正式使用之前,必须进行"造型",指定对象的类型

Collection接口方法:

 

基本操作

boolean add(Object element)

添加一个元素

boolean remove(Object element)

删除一元素

查询操作

int size()

返回元素数目

boolean isEmpty()

判断是否为空

boolean contains(Object element)

判断是否包含某元素

Iterator iterator()

创建一个迭代器

组操作

boolean containsAll(Collection collection)

另一集合是否是当前集合的子集

boolean addAll(Collection collection)

void clear()

删除所有元素

void removeAll(Collection collection)

去除集合的一个子集

void retainAll(Collection collection)

保留集合的一个子集