关于集合框架的一些……
来源:互联网 发布:linux snmp自定义oid 编辑:程序博客网 时间:2024/05/22 04:25
所谓的集合框架,就是Java的设计者把常用的数据结构和算法,抽象出来,定义一系列的接口,供人们去使用,即Java collection frame
集合框架的层次结构如图:
1、关于list 和 set 的比较:set 检索效率比较低,删除和插入的效率比较高,删除和插入时不会导致元素相对位置的变化。
而list 类似的是数据结构中的数组,list 可以动态增长,对于元素的检索比较容易,但是,删除和插入会引起元素位置的变化。
2、set 和 list 的子类比较
2.1 hashset
hashset采用hash算法,以哈希表的方式存储,所以,删除和插入的速度会很快。hashset中,不能存放相同的数据。treeset可以自动维持一定的顺序。
2.2 Vector,ArrayList, LinkedList 比较
ArrayList 对应的是数据结构中的动态数组。 一般开发中经常用到,对数据的遍历。
LinkedList 对应的是 队列,栈,链表。和ArrayList相比,删除和插入比较快,但是,索引比较慢。
Vector 对应的也是动态数组,但是 Vector 是线程安全的,涉及到加锁的问题,所以 相对来说,效率较低。
3、关于Map接口,从图中,也可以看到,Map接口是和coolection接口是平级的, Map 就是一组键值对, 不允许有重复的键出现。
hashTable 是继承自Map接口,和hashMap的区别是:
hashTable 是线程安全的(重量级),不允许空的键值对
hashMap 是非线程安全的(轻量级),允许有空的键值对。
PS:一些线程安全的类: Vector Stack Emuration HashTable
4、关于迭代器以及它的使用
迭代器主要就是帮助我们拿出集合中的值。Iterator
使用:
ArrayList list=new ArrayList();
Iterator it=list.iterator();//得到迭代器对象
while(it.next())
{
//取出迭代器中的值
}
- 关于集合框架的一些……
- 集合框架的一些理解
- 关于集合的一些操作
- 关于集合的一些源码
- 关于集合框架的思考
- 关于集合框架的思考
- 关于集合框架的思考
- 关于集合框架的思考
- 关于集合框架的思考
- 关于集合框架的思考
- 关于集合框架的思考
- ssm框架整合的一些问题集合
- 集合框架Map的一些基本用法
- Java集合框架的一些总结
- 关于框架的一些胡思乱想
- 关于框架的一些问题
- 集合框架(List集合的一些特有方法)
- 黑马程序员--关于集合的一些总结
- 内存计算掘金社交网络
- 创建自定义Windows phone 7样式(二)-mango下的实现
- 安装oracle报 Xlib: No protocol specified 错误
- U盘中毒或误操作变成raw格式,磁盘显示容量为0修复解决方案
- BW 常用事物码
- 关于集合框架的一些……
- 恢复vs2008默认的设置方法
- Oracle查找某个字段所在的表
- UCOS II 学习心得
- 顺序栈的实现 C语言版(一)
- 全文检索、数据挖掘、推荐引擎系列---技术架构(转载)
- Windows下编译objective-C
- BW中删除垃圾主数据步骤
- 不同编译单元内定义的non-local static 对象的初始化顺序