前言: 前一段时间开始学习了一些基本的数据结构和算法,算是弥补了这方面的知识短板,但是仅仅是对一些算法的了解,目前工作当中也并没有应用到这些,因此希望通过结合实际例子来学习,巩固之前学到的内容,思前想后觉得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

最新文章

  1. isPrototypeOf&&getPrototypeOf
  2. bond配置
  3. Sql Server 深入的探讨锁机制
  4. ServletContext图解
  5. Windwos Server 2008: 当网卡有多个IP地址时,如何指定缺省地址?
  6. Demo学习: ColumnSort
  7. Mysql 冷备份批处理
  8. qt QSqlQuery
  9. c语言else匹配问题
  10. [Swust OJ 771]--奶牛农场(几何题,画图就好)
  11. Urxvt - awesome
  12. iOS 面试题:OC标题的基本概念<延续>
  13. JavaEE 配置文件 应用首选项存储
  14. python之串口操作
  15. Zepto源码(2016)——Zepto模块(核心模块)
  16. MD5加密算法(java及js)
  17. Android的WebView调试工具(无需Fan墙,可同时调试多个设备,永不过期)
  18. Storm 集群
  19. python3 特殊字符处理 \x06\x05\x07
  20. krkr基础篇(一)

热门文章

  1. 搭建Web开发环境JavaEE_Eclipse
  2. 笨办法学Python(二十四)
  3. 5 - 文件I/O操作
  4. 搭建TFTP服务器配置
  5. javascript中的循环引用对象处理
  6. POJ - 3109 Inner Vertices
  7. 2017.9.30 Java中引用类型变量的创建及使用&循环的高级
  8. python_4_interaction
  9. java的四个元注解 @Retention @Target @Document @Inherited
  10. mysql题目(二学年)