《java编程思想》第十七章回顾

1、不能用Collection自带的fill方法填充容器。其结果是复制同一个对象的引用来填充了整个容器,可以用generator接口。

2、由来源于背后由固定尺寸的数据结构支持的容器,当将其转换为List后,对于任何改其大小的操作,都将带来异常。

3、Set中有HashSet、TreeSet、LinkedHashSet其中3种。其中HashSet是最常用的。存入HashSet的元素需要定义HashCode方法和equals方法。

4、LinkedHashSet按照元素的插入顺序保存元素,TreeSet按照排序顺序维护元素。SortedSet按照对象的比较函数对元素排序。

5、Queue,队列,可以通过LinkedList或者PriorityQueue实现。对于Deque,可以通过LinkedList进行组合来完成。

6、HashMap是默认的选择。为了加速搜索,对Java对象执行散列码。

7、Map也需要定义HashCode方法和equals方法。如果用于TreeMap,还需要实现Comparable接口。

8、默认的HashCode是基于对象的地址。如果需要自己实现,可以参考《Thinking in java》的方法。

9、ArrayListdice底层基于数组,LinkedList基于双向链表,经常增删则使用LinkedList。一般是ArrayList作为默认首选。

10、本章还介绍了几种引用。都是弱引用(SoftReference、WeakReference、PhantomReference)PS:Object obj = new Obj Object中,obj为强引用。

猜你喜欢

转载自blog.csdn.net/leokingszx/article/details/88357464
今日推荐