《java编程思想》学习总结01

本周主要学习内容:《Java编程思想》第十一章 持有对象

1.在声明生成一个list类型的对象时,若是没有显示的生命继承自哪个类,会自动继承Object。例如:ArrayList arr = new ArrayList();插入和取出的对象都为Object类型,若要使用对象,需要进行强制转换。

2.Collection。一个独立元素的序列,这些元素都服从一条或多条规则。

3.我们经常写List list = new LinkedList();这样的语句,其中LinkedList被向上转型为List如果需要使用LinkedList中特有的方法,不能这么写。

4.如图,Queue,List,Set都继承自Collection,所有的Collection都可以用foreach语法遍历。

5.Arrays和Collections是两个工具类,Arrays.asList()返回一个List对象,Collection.addAll()和Collections.addAll()是两个不同的方法,Collection.addAll()方法运行起来要快的多,但是调用Collections.add()方法方便。Collections.sort()方法也值得注意。

6.fill()可用于所有类型的Collection,用同一个元素填充Collection。

7.ArrayList可以随机访问元素,但是在list的中间插入和移除元素时较慢。LinkedList在中间插入删除元素代价较低,但是在随机访问方面相对比较慢。

8.迭代器的使用。使用方法iterator()要求容器返回一个Iterator。任何实现了Iterable接口的实现类或者数组,都可以使用foreach。

9.Queue接口在LinkedList的基础上添加了element(),offer(),peek(),poll(),remove()方法。

10.Stack,栈,(LIFO),后进先出,可以使用LinkedList替代。peek()返回栈顶元素但不移除。pop()返回栈顶元素并移除。

11.Queue(FIFO),LinkedList可以向上转型为Queue。peek()element()两个方法都将在不移除的情况下返回队头。poll()remove()将移除并返回队头,但是poll()在队列为空时返回null,remove()会抛异常NoSuchElementException。

理解词汇:

运行期

编译期

向上转型

这三个词汇要是想解释清楚,都可以单独写一篇文章。一直觉的我看了书,这些东西我就知道了,但是今天突然想写个总结的时候,竟让发现无从下手,其中还有一大堆的东西没有说到,也没能解释得清楚。总结学习过的知识还是非常有必要的。希望日后自己再接再厉,做更多的总结,多写博客,对自己也是一种很大的提升。

最近看这本书,发现多次看到Random random = new Random(47);这句语句,还有经常提到的策略、适配器等设计模式,需要去学习下设计模式,才能更好的理解书中的代码。

以前总是听别人说java编程思想这本书有点难,其实静下心来去看还是能够比较轻松的看懂的,不管如何,盘他。

猜你喜欢

转载自blog.csdn.net/zpt912/article/details/106608887
今日推荐