jdk1.8源码学习笔记

 

前言: 前一段时间开始学习了一些基本的数据结构和算法,算是弥补了这方面的知识短板,但是仅仅是对一些算法的了解,目前工作当中也并没有应用到这些,因此希望通过结合实际例子来学习,巩固之前学到的内容,思前想后觉得jdk源码其实非常适合学习,首先jdk的一些类在工作中使用频率非常高,并且他的底层实现结合了不少的设计模式,和算法。如:java集合类中的LinkedHashMap通过维护hash表和双向链表,可以实现读取数据O(1)的时间复杂度,并可以用于实现LRU算法。 jdk中的绝大部分代码都是经过千锤百炼的,代码质量非常之高,在了解其底层实现的过程中,也可以帮助我们提高编码规范,养成良好的习惯。

####一、java 集合类 
上图为java集合类的集合框架图,图中非常清楚的展示了java集合类中的各种依赖继承关系。所有的元素都实现了Iterator接口,用于遍历集合元素。集合分两大类,Collection和Map,Collection中又分List和Set,Map接口下有HashMap,Hashtable,TreeMap等。顾名思义这些不同的子类都有对应不同的含义,本文要详细讲述的就是不同子类的具体实现,以及子类之间的异同点。

  1. Iterator
  2. Collection
  3. Map
  4. ArrayList & Vector
  5. LinkedList
  6. HashSet
  7. TreeSet
  8. HashMap
  9. LinkedHashMap
  10. WeakHashMap
  11. HashTable
  12. TreeMap

转载于:https://www.cnblogs.com/hd-zg/p/6929941.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值