首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

Java学习笔记——怀有对象

2013-12-19 
Java学习笔记——持有对象通常,在程序运行之前是不知道所需对象的类型及数量的,为解决这个问题,需要在任意时

Java学习笔记——持有对象
  通常,在程序运行之前是不知道所需对象的类型及数量的,为解决这个问题,需要在任意时刻任意位置创建不同类型的对象,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)添加元素
voidadd(int index, E element) 指定位置添加元素
boolean addAll(Collection<? extends E> c) 添加一组元素,只能接受另一个Collection对象
boolean addAll(int index, Collection<? extends E> c) 同上,只是在指定位置添加一组元素
voidclear() 清空所有元素
Objectclone() 返回当前list的浅表复制(之前说过浅表复制)
boolean contains(Object o) 测试归属性
voidensureCapacity(int minCapacity) 增加List的容量,保证最少容纳指定数量的元素
E get(int index) 返回指定位置的元素
intindexOf(Object o) 返回指定元素在List中的位置,没有返回-1;
boolean isEmpty() 测试是否为空
intlastIndexOf(Object o) 返回指定元素最后的索引位置
E remove(int index) 移出指定位置元素
boolean remove(Object o) 移出List第一个出现指定元素的元素
protected  voidremoveRange(int fromIndex, int toIndex) 移出一段索引位置的元素
E set(int index, E element) 在指定位置添加元素,如果该位置已有元素,替换该元素   
intsize() 返回List的长度
Object[] toArray() 返回含有列表元素的数组
voidtrimToSize() 将列表的容量设置为当前列表的长度
继承的方法:
containsAll:测试归属性
removeAll:移出所有元素
retainAll:求合集。

4、迭代器Iterator只能单向移动,它的作用是遍历并选择序列中的对象,而不用管序列的类型,所有的Collection都可以生成迭代器。

5、Map和Collection之间的唯一重叠就是Map可以使用entrySet()和values()方法产生Collection。


热点排行