java容器类,数组笔记

来源:互联网 发布:ubuntu git 支持中文 编辑:程序博客网 时间:2024/05/29 10:05

摘取自Thinking in Java。


1、Arrays方法

Arrays.fill( ):填充方法,可填充值到各个位置,但是对于对象,是复制同一个引用进行填充。



总结

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


1、数组。数组保存了类型明确的对象,查询对象时,不用对结果做类型转换。数组可以是多维的,可以保存基本类型的数据。但是数组一旦生成,其容量就不能改变。


2、Collection保存单一的元素,Map保存相关联的键值对。通过泛型可以保证不将错误类型的对象放置入容器中。Collection和各种Map都可以自动调整尺寸。容器不能持有基本类型,但是自动包装机制会仔细地执行基本类型到容器中所持有的包装类型之间的双向转换。


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


4、如果要进行大量的随机访问,就使用ArrayList,如果要经常从表中间插入或删除元素,则应该使用LinkedList。


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

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


7、Set不接受重复元素。HashSet提供最快的查询速度,而TreeSet保持元素处于排序状态。LinkedHashSet以插入顺序保存元素。

8、新技术中不应该使用过时的Vector、Hashtable、Stack。

0 0