博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java---容器基础总结
阅读量:5291 次
发布时间:2019-06-14

本文共 1039 字,大约阅读时间需要 3 分钟。

Java提供了大量持有对象的方式:

(1) 数组将数字与对象联系起来。 它保存类型明确的对象,查询对象时,不需要对结果做类型转换。它可以是多维的, 可以保存基本类型的数据。 但是,数组一旦生成,其容量就不能改变。

(2)Collection保存单一的元素,而Map保存相关联的键值对。有了Java的泛型,你就可以指定容器中存放的对象类型, 因此你就不会将错误类型的对象放置到容器中,并且在从容器中获取元素时,不必进行类型转换。各种Collection 和各种Map都可以在你向其中添加更多的元素时,自动调整其尺寸。 容器不能持有基本类型,但是自动包装机制会仔细地执行基本类型到容器中所持有的 包装器类型之间的双向转换。

(3)像数组一样,List也建立数字索引与对象的关联,因此,数组和List都是排好序的容器。 List能够自动扩充容量。

(4)如果要进行大量的随机访问, 就使用ArrayList具有数组的特性,如果要经常从表中间插入或删除元素,则应该使用        LinkedList(具有链表的特性)

(5)各种Queue(队列)以及栈的行为, 由LinkedList提供支持。

(6)Map是一种将对象(而非数字)与对象相关联的设计。HashMap设计用来快速访问,而TreeMap保持 “键” 始终处于排序状态,所以没有    HashMap快。LinkedHashMap保持元素插入的顺序, 但是也通过散列提供了快速访问能力。

(7)Set不接受重复元素。HashSet提供最快的查询速度,而TreeSet保持元素处于排序状态。

LinkedHashSet以插入顺序保存元素。

Java容器的简图(不包含抽象类和遗留构件):

你可以看到, 其实只有四种容器: MapListSet和  Queue,它们各有两到三个实现版本。常用的容器用黑色粗线框表示。

点线框表示接口, 实线框表示普通的(具体的) 类。带有空心箭头的点线表示一个特定的类实现了一个接口, 实心箭头表示某个类可以生成箭头所指向类的对象。 例如, 任意的

Collection可以生成Iterator,而List可以生成Listlterator (也能生成普通的Iterator,因为List继承自   Collection

Java的容器每天都会用到的工具, 它可以使程序更简洁更强大更高效。

 

6.

转载于:https://www.cnblogs.com/zhuweiheng/p/8228063.html

你可能感兴趣的文章
Sharepoint online 如何使用asp.net开发项目!!!
查看>>
C#基础_注释和VS常用快捷键(一)
查看>>
http协议
查看>>
动态调用webservice
查看>>
2017-05-18
查看>>
python带header
查看>>
虚拟DOM
查看>>
IClient for js开发之地图的加载
查看>>
用css画三角形(提示框三角形)
查看>>
Uber中国在地方城市的人员架构是怎样的?
查看>>
再来一篇装逼老文章:屏幕传输算法
查看>>
Delphi 7下最小化到系统托盘
查看>>
抖动代码
查看>>
lsblk请参阅块设备
查看>>
SVM-SVM概述
查看>>
STL algorithm算法lower_bound和upper_bound(31)
查看>>
linux系统下怎么安装.deb文件?
查看>>
javascript常见编程模式举例
查看>>
列出man手册所有函数的方法
查看>>
[从jQuery看JavaScript]-匿名函数与闭包(Anonymous Function and Closure)【转】
查看>>