【笔记】Java编程思想——对象的集合

1、容器类将所有对象都按Object类型处理

一个容器可以放入任何对象,基本类型除外

基本类型应先放入数组,数组再放入容器中

2、对象数组保存的是引用,基本类型保存的是基本类型的值

class Weeble{ }

Weeble [] a= new Weeble[5];

int[] f= new int[5];

3、可在容器中使用包装类,例如Interger,Double等存放基本类型

4、返回一个数组:

【笔记】Java编程思想——对象的集合_第1张图片

5、容器:List,Set, Map

Set,每个对象只存一份,Map是一种关联数组,也只保存一份。

容器类都能自动调整容量

Collection。一组独立的元素,如List必须保持顺序,Set不能有重复元素

Map。一组键值对对象。

6、打印容器

【笔记】Java编程思想——对象的集合_第2张图片

【笔记】Java编程思想——对象的集合_第3张图片

Collection都可用add

Map都可用put

fill()方法,复制同一个对象来填充整个数组。

7、对象加入容器就丢失了类型信息。不要不同的类型

8、制作一个类型明确的ArrayList。

【笔记】Java编程思想——对象的集合_第4张图片

使其只接受和返回Mouse对象。


9、迭代器:遍历和选择序列中的对象

Iterator具有next(),hasnext(),remove()方法

因此不用操心容器中元素的数量了

【笔记】Java编程思想——对象的集合_第5张图片

10、容器分类

【笔记】Java编程思想——对象的集合_第6张图片



【笔记】Java编程思想——对象的集合_第7张图片



11、List

ArrayList随机访问快,插入删除慢;LinkedList插入删除快,随机访问慢

LinkedList制作栈:压栈addFirst(),顶部getFirst(),出栈removeFirst()

LinkedList制作队列:addFirst,removeLast


12、Set

Set具有与Collection完全一样的接口,只是行为不同,set不保存重复的元素。

set有特定的存储顺序


13、Map

如果不为“键”覆盖hashcode()和equals()方法,那么使用散列的数据结构(HashSet,hashMap,...)就无法正确处理你的键

散列的价值在于使得查询快速

查询一个值首先计算散列码,然后用散列码查询数组,数组里保存着值的list。然后对list中的值使用equals()进行线性查询

【笔记】Java编程思想——对象的集合_第8张图片

14、持有引用:

如果想持有某个对象的引用,以便以后访问该对象,同时也允许内存耗尽时垃圾回收器回收,用Reference对象











你可能感兴趣的:(【笔记】Java编程思想——对象的集合)