自学java 第十一章持有对象

这几天简单学习了java的容器类,对于它们有了基础的了解和运用。

容器类按照保存对象的个数分为两类:Collection和Map。

1.Collection类型,它是保存独立元素的序列。它的子类型有List,Set,Queue;

2.Map类型,它是有一组成对的"键值对"对象构成的序列。

对于List有两种类型:ArrayList用于随机访问元素,但在List中做插入删除操作速度较慢(类似顺序表);LinkedList在插入删除操作代价较小,但在进行元素的随机访问时相对较慢(类似链表)。

Set是不保存重复元素的容器(类似集合)。Set最常用于测试某个元素是否在Set中,因此查找时Set中的主要操作,多用HashSet来进行实现。

Queue是一个典型的先进先出的容器(类似于队列)。LinkedList提供了方法支持队列的行为,且实现了Queue()接口,因此可用LinkedList作为它的一种实现。还有一种优先级队列的实现PriorityQueue。

Stack是后进先出的容器(类似栈)。LinkedList具有能直接实现栈的所有功能的方法,因此可以直接将LinkedList作为栈使用。

java中的Iterator是一个迭代器。迭代器是一个对象,他用于便利并选择序列中的对象。但是Iterator只能单向移动。

容器类大多和泛型一起联用,这样可以在编译期间防止将错误类型的对象放入容器中。

感觉目前学习的这些基础的容器类似数据结构中的顺序表,链表,栈,堆,集合等,在java中这些数据结构已经被写好了我们可以直接调用,而且Collection的任何对象都可以实用foreach语句,是一个很便利的设计。

原文地址:https://www.cnblogs.com/grj0011/p/4865275.html