首页 > 代码库 > 用一个集合这么难?
用一个集合这么难?
集合
| 允许元素重复否 | ||
Collection | 否 | 是 | |
List | 是 | 是 | |
Set | AbstractSet | 否 | 否 |
HashSet | |||
TreeSet | 是(用二叉树排序) | ||
Map | AbstractMap | 否 | 使用key-value来映射和存储数据,Key必须惟一,value可以重复 |
HashMap | |||
TreeMap | 是(用二叉树排序) |
目的:
用数组存储数据时只能具有简单的组织形式,而且大小有时候也不确定的需求也无法满足,因此需要具有更多操作的集合来进行数据存储
分类:
Vector(矢量)
Bitset(位集)
Stack(栈)
Hashtable(散列表):
在散列表中有一系列问题,再存入一个对象充当key的时候,存入方式的…
缺点:
- 由于对于通用性的考虑,集合存储对象时,会丢弃对象的类型,任何对象都可以进入集合
- 正式使用之前,必须进行"造型",指定对象的类型
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) | 保留集合的一个子集 |
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。