集合简单总结
来源:互联网 发布:js文件上传原理 编辑:程序博客网 时间:2024/06/01 12:54
所有集合能容纳的仅有对象句柄,不可以存储基本数据类型
缺点:类型未知
集合不适用下述场合:
(1) 将一个对象句柄置入集合时,由于类型信息会被抛弃,所以任何类型的对象都可进入我们的集合——即
便特别指示它只能容纳特定类型的对象。举个例子来说,虽然指示它只能容纳猫,但事实上任何人都可以把
一条狗扔进来。
(2) 由于类型信息不复存在,所以集合能肯定的唯一事情就是自己容纳的是指向一个对象的句柄。正式使用
它之前,必须对其进行造型,使其具有正确的类型。
List:
时间对比:
Type
Get
Iteration
Insert
Remove
ArrayList
110
490
3790
8730
LinkedList
1980
220
110
110
ArrayList: 底层数据结构是数组,查询快,增删慢。
线程不安全,效率高。
Vector:
底层数据结构是数组,查询快,增删慢。
线程安全,效率低。
LinkedList:
底层数据结构是链表,查询慢,增删快。
线程不安全,效率高。
我们最好的做法也许是先选择一个ArrayList 作为自己的默认起点。以后若发现由于大量的插入和删除
我们最好的做法也许是先选择一个ArrayList 作为自己的默认起点。以后若发现由于大量的插入和删除
造成了性能的降低,再考虑换成LinkedList 不迟。list有个特有的迭代器(ListIterator)
Set:
时间对比:
Type
Test size
Add
Contains
Iteration
TreeSet
100 22.5
13.2
12.1
1000
31.1
18.7
11.8
HashSet
100
6.6
6.6
10.9
1000
7.4
6.6
9.5
set底层使用哈希表实现的进行add()以及contains()操作时,HashSet显然要比 TreeSet 出色得多,而且性能明显与元素的多寡关系
不大。一般编写程序的时候,几乎永远用不着使用 TreeSet 。
Map:
当我们使用 Map时,首要的选择应该是 HashMap。
TreeMap的创建速度比其他两种类型明显快得多,TreeMap出色的 put()性能,所以如
果需要创建大量Map,而且只有在以后才需要涉及大量检索操作,那么最佳的策略就是:创建和填充
TreeMap;以后检索量增大的时候,再将重要的TreeMap 转换成HashMap
0 0
- Java集合简单总结
- 集合简单总结
- 集合简单总结
- Java集合简单总结
- List集合简单总结
- 集合的简单理解总结
- Java集合简单回顾总结
- Java集合框架简单总结
- Set集合的简单总结
- 黑马程序员_java集合框架简单总结
- Java集合框架特点简单总结
- java基础 集合框架 简单总结
- 关于集合的简单整理总结
- 总结出el表达式简单的集合输出方式
- 总结出el表达式简单的集合输出方式
- 总结出el表达式简单的集合输出方式
- 总结出el表达式简单的集合输出方式
- 总结出el表达式简单的集合输出方式
- 斜杠/和反斜杠\的区别
- Struts2 简单数据验证
- Struts2标签库(三)之表单标签
- 虚幻UE4碰撞系统
- android 网络框架性能优化分析
- 集合简单总结
- CSS中display/float/position属性值的相互影响
- RecyclerView的使用(2)之多Item布局的加载
- Spark 基础(一)
- C++基本概念——构造函数
- 【HDU5630】Rikka with Chess(模拟)
- 李少鹏的网络日志移步到lishaopeng.com
- 【Linux 开发篇】之 计划任务
- HDFS介绍