`
- 浏览:
66232 次
- 性别:
- 来自:
北京
-
通常,在程序运行之前是不知道所需对象的类型及数量的,为解决这个问题,需要在任意时刻任意位置创建不同类型的对象,java提供了一套完整的容器类来解决这个问题。
1、Java的容器类可以通过下表展示,容器不能持有基本类型。
Collection(基本接口):一个独立元素的序列
|-List(接口):按照插入的顺序保存对象
| |-ArrayList:优点:随机访问快,但是插入和删除慢
| |-LinkedList:访问相对慢,插入删除快
| |-Vector:和数组类似,能扩大和缩小,但是只能存放对象类实例(同步的,用的比较少)
| | |-Stack:先进后出
|-Queue:先进先出的容器,用来将对象从程序的有个区域传到另一个区域
|-Set:元素不能重复,最常用的是测试归属性
| |-HashSet:随机访问最快
| |-TreeSet:存贮在红黑树中,有序
Map:一组成对的“键值对”,类似字典功能
|-HashMap:提供最快的查找
||-LinkedHashMap:保持元素的插入顺序,通过散列提供了快速访问能力
|-TreeMap:保持“键”处于排序状态
2、容器的打印
对于数组必须使用Arrays.toString()产生可打印的表示。但是,打印容器无需任何帮助,可以直接使用print(容器对象)。这对程序的测试非常便利,尤其是Map的测试。
3、ArrayList是最常用的容器类型,
ArrayList的常用方法:
http://www.csl.mtu.edu/javadoc/api/java/util/ArrayList.html
boolean add(E e)添加元素
void add(int index, E element) 指定位置添加元素
boolean addAll(Collection<? extends E> c) 添加一组元素,只能接受另一个Collection对象
boolean addAll(int index, Collection<? extends E> c) 同上,只是在指定位置添加一组元素
void clear() 清空所有元素
Object clone() 返回当前list的浅表复制(之前说过浅表复制)
boolean contains(Object o) 测试归属性
void ensureCapacity(int minCapacity) 增加List的容量,保证最少容纳指定数量的元素
E get(int index) 返回指定位置的元素
int indexOf(Object o) 返回指定元素在List中的位置,没有返回-1;
boolean isEmpty() 测试是否为空
int lastIndexOf(Object o) 返回指定元素最后的索引位置
E remove(int index) 移出指定位置元素
boolean remove(Object o) 移出List第一个出现指定元素的元素
protected void removeRange(int fromIndex, int toIndex) 移出一段索引位置的元素
E set(int index, E element) 在指定位置添加元素,如果该位置已有元素,替换该元素
int size() 返回List的长度
Object[] toArray() 返回含有列表元素的数组
void trimToSize() 将列表的容量设置为当前列表的长度
继承的方法:
containsAll:测试归属性
removeAll:移出所有元素
retainAll:求合集。
4、迭代器Iterator只能单向移动,它的作用是遍历并选择序列中的对象,而不用管序列的类型,所有的Collection都可以生成迭代器。
5、Map和Collection之间的唯一重叠就是Map可以使用entrySet()和values()方法产生Collection。
这里推荐一个将java集合类的博文:
http://www.importnew.com/13801.html
http://www.javacodegeeks.com/2013/02/40-java-collections-interview-questions-and-answers.html#java-collections-framework
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
良葛格的Java学习笔记~讲解得非常详细。JDK5.0的~是Java入门的不错选择。
——————————————————————————————————————————————
Thinking in Java 自学笔记——第二章 一切皆对象 个人原创,不喜勿喷。
Thinking in Java 自学笔记——第一章 对象导论 个人原创,不喜勿喷。
Python学习笔记——对象和类
Solidworks学习笔记——随形变化.docxSolidworks学习笔记——随形变化.docxSolidworks学习笔记——随形变化.docxSolidworks学习笔记——随形变化.docxSolidworks学习笔记——随形变化.docxSolidworks学习笔记——...
java学习笔记很适合初学者了解。看了一遍,觉得还行!所以拿上来分享。
此资源为我跟着B站up主【遇见狂神说】java系列视频中前端入门部分学习过程中所写 大部分和视频保持一致,有一些自己的理解和一些扩展的部分
Java JDK 6学习笔记——ppt简体版.rar
Java JDK 6学习笔记——ppt简体版加课本代码
Cocos2d-x学习笔记——完全掌握C++ API与游戏项目开发.zip
Oracle学习笔记——day02 学习的好东西 Oracle学习笔记——day02
Oracle学习笔记——day04 学习的好东西 Oracle学习笔记——day04
Oracle学习笔记——day05 学习的好东西 Oracle学习笔记——day05
Oracle学习笔记——day03 学习的好东西 Oracle学习笔记——day03