Thinking in Java第十一章 持有对象笔记

发布时间:2019-11-19 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了Thinking in Java第十一章 持有对象笔记脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

1、Collection接口和Map接口
2、Collection包括List、Set和Vector,其中List的实现有ArrayList、LinkedList、LinkedHashList 。Set的实现有HashSet、TreeSet、LinkedHashSet。Vector属于过时被淘汰的实现。

  • List的特点是可重复且有序。

    • ArrayList的底层是数组,因此优点在于随机访问时速度快效率高。缺点在于在中间插入元素移除元素时效率低下。
    • LinkedList的底层是链表,在随机访问时效率较低,但在中间进行插入和删除操作时效率较高。

List的所有方法都是根据equals()方法的结果发发生变化的。如contains、remove、indexOf等,均是根据equals()方法的返回结果判断。

  • Set的特点是元素不可重复。

    • HashSet底层也是通过hash码来确定元素位置。在新增元素时会先根据hashCode()方法得到hash码,在set中判断是否存在,不存在则插入,存在则抛弃。
    • TreeSet底层是通过红黑树来实现,因此可以实现元素之间的排序。

3、LinkedList可以作为栈、队列或双端队列的实现。常用方法如下。

  • getFirst()、element()。两个方法一样,都是返回链表第一个元素,但不会删除元素。在list为空时会报NoSuchElementException。
  • PEek与上述两个方法类似,也不会移除元素,但是在list为空时不会报错,返回null
  • remove()、removeFirst()。两个方法一样,都是返回第一个元素,但会删除元素。
  • poll 与peek类似,在list为空时返回null。同时会移除元素。
  • adDFirst()、add()、addLast()、offer()。除了addFirst()是在头部添加元素外,其他方法都是在尾部添加元素。

4、Collections类提供了对Collection的排序方法,排序为sort,乱序为shuffle。另外集合之间求交集可以用retainAll()。需要注意的是此方法也是基于equals的结果判断的。
5、容器不能持有基本类型,只能持有对象类型。但自动装箱机制使得容器也能持有“基本类型”的数据。
容器的简单分类如下图

Thinking in Java第十一章 持有对象笔记

脚本宝典总结

以上是脚本宝典为你收集整理的Thinking in Java第十一章 持有对象笔记全部内容,希望文章能够帮你解决Thinking in Java第十一章 持有对象笔记所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。