集合框架总结——Collection、Iterator、List、Set、Map
2015-09-08 10:48
691 查看
集合框架:
用于存储对象
特点:
1、可变长度
2、只能存储引用数据类型
3、可以存储不同数据类型对象
(图片来自网络)
一、Collection
|——List:有序可重复
|——Set:无序不可重复
方法摘要:
添加
boolean add(E)
boolean addAll(Collection)
删除
void clear()
boolean remove(Object)
boolean removeAll(Collection)
取交集
boolean retainAll(Collection)
判断
boolean contains(Object)
boolean containsAll(Collection)
boolean isEmpty()
获取
int size()
Iterator iterator()
转换
Object[] toArray()
二、Iterator
迭代器:
用于取集合中的元素
方法摘要:
boolean hasNext()
E next()
void remove()
例程:
三、List:有序有索引可重复
|——Arraylist:数组,线程不同步,查询速度快
|——LinkedList:链表,线程不同步,增删速度快
|——Vector:数组,线程同步,查询增删都慢
四、Set
|——HashSet:哈希表,线程不同步,无序,高效
|——TreeSet:二叉树,线程不同步,有序(两种排序方式Comparable<Comparator)
五、Map:双列集合key-value键值映射对
|——HashTable:哈希表,线程同步,不能存null-null
|——HashMap:哈希表,线程不同步,可以存null-null
|——TreeMap:二叉树,有序
Map->Set两种方法:
Set keySet();取键
Set entrySet();取键值映射关系
用于存储对象
特点:
1、可变长度
2、只能存储引用数据类型
3、可以存储不同数据类型对象
(图片来自网络)
一、Collection
|——List:有序可重复
|——Set:无序不可重复
方法摘要:
添加
boolean add(E)
boolean addAll(Collection)
删除
void clear()
boolean remove(Object)
boolean removeAll(Collection)
取交集
boolean retainAll(Collection)
判断
boolean contains(Object)
boolean containsAll(Collection)
boolean isEmpty()
获取
int size()
Iterator iterator()
转换
Object[] toArray()
二、Iterator
迭代器:
用于取集合中的元素
方法摘要:
boolean hasNext()
E next()
void remove()
例程:
public static void main(String[] args) { Collection co = new ArrayList(); co.add("a"); co.add("b"); co.add("c"); //method 1 Iterator it = co.iterator(); while(it.hasNext()) System.out.println(it.next()); //method 2 for(Iterator it = co.iterator(); it.hasNext(); ) System.out.println(it.next()); }*常用method 2
三、List:有序有索引可重复
|——Arraylist:数组,线程不同步,查询速度快
|——LinkedList:链表,线程不同步,增删速度快
|——Vector:数组,线程同步,查询增删都慢
四、Set
|——HashSet:哈希表,线程不同步,无序,高效
|——TreeSet:二叉树,线程不同步,有序(两种排序方式Comparable<Comparator)
五、Map:双列集合key-value键值映射对
|——HashTable:哈希表,线程同步,不能存null-null
|——HashMap:哈希表,线程不同步,可以存null-null
|——TreeMap:二叉树,有序
Map->Set两种方法:
Set keySet();取键
Set entrySet();取键值映射关系
相关文章推荐
- 扑克牌顺子
- Grunt:多个css,js,进行单独压缩
- String、StringBuffer与StringBuilder之间区别
- Android layout 属性
- SVM处理多分类问题(one-versus-rest和one-versus-one的不同)
- SVM处理多分类问题(one-versus-rest和one-versus-one的不同)
- JDK环境变量配置
- (九)android中通过selector设置TextView的文字选中和正常时候的颜色
- [PHP自动化-进阶]001.CURL模拟登录并采集数据
- 由一道腾讯面试题引发的关于递归函数使用的各种情况总结
- js,在循环中添加事件,输出循环数 i 的值,i++与++i的问题
- opencv求解AX=0
- 2012年度十大杰出IT博客之 罗升阳
- reverse函数
- 快慢指针
- CF 484E - Sign on Fence
- Liunx 下装openoffice 乱码解决__http://wenku.baidu.com/link?url=3uaBXBwPt_ewQSZEV1vnyhaFrB8Pf7Z-VYJDGLnFvUM
- storm记录--12- Storm Transaction 原理+实战
- [WEB前端开发]-复选框操作经验-解决无法获取所有选中值的问题
- 倒计时(剩余时间xx天xx小时xx分钟xx秒)