[持续]Java学习采坑

JDK 1.7和 JDK 7 其实是一回事

可参考 版本控制系统的改变

HashMap 和 Map 的关系

HashMap 是对 Map 的实现。

jdk 中 HashMap 的源码

补充知识:
Map has following implementations:

  • HashMap
  • LinkedHashMap
  • Tree Map
  • WeakHashMap
Java 中 Map 的实现
  • Map 是“键值对”映射的抽象接口。
  • AbstractMap 实现了Map中的绝大部分函数接口。它减少了“Map的实现类”的重复编码。
  • SortedMap 有序的“键值对”映射接口。
  • NavigableMap 是继承于SortedMap的,支持导航函数的接口。
  • HashMap, Hashtable, TreeMap, WeakHashMap 这4个类是“键值对”映射的实现类。它们各有区别!
    HashMap 是基于“拉链法”实现的散列表。一般用于单线程程序中。
    Hashtable 也是基于“拉链法”实现的散列表。它一般用于多线程程序中。
    WeakHashMap 也是基于“拉链法”实现的散列表,它一般也用于单线程程序中。相比HashMap,WeakHashMap中的键是“弱键”,当“弱键”被GC回收时,它对应的键值对也会被从WeakHashMap中删除;而HashMap中的键是强键。
    TreeMap 是有序的散列表,它是通过红黑树实现的。它一般用于单线程中存储有序的映射。

可参考:
https://stackoverflow.com/questions/1348199/what-is-the-difference-between-the-hashmap-and-map-objects-in-java
Java 集合系列14之 Map总结

HashSet 和 HashMap 之间的关系

HashSet 是在 HashMap 上又封装了一层,并且只需要用到 key 属性就好,不关心 value 部分。HashSet 是模仿数学上的 set 抽象而设计的,在 HashSet 中的键值不能重复。
参考:Java-HashSet工作原理及实现

Eclipse 操作方面的技巧

java.util.HashMap 按着 ctrl 可以看到 HashMap 的 jdk 源码(但是首先得给对应的包指定源码位置)

给对应的包指定源码位置

否则提示 Source not found.
否则提示 Source not found

下载 jdk 时会附带源码包
其中有用的是:commons-codec-1.11.jar

学习资料 from 钱锟

课前阅读,大概都是一些oracle的文档

Pre-Lecture Readings / Videos / Exercises
(8/24) Lecture 2
http://www.brighthub.com/computing/windows-platform/articles/10291.aspx
http://www.brighthub.com/computing/windows-platform/articles/11008.aspx
http://www.brighthub.com/computing/windows-platform/articles/11122.aspx
http://www.brighthub.com/computing/windows-platform/articles/11241.aspx

(8/31) Lecture 4
https://docs.oracle.com/javase/tutorial/java/data/strings.html
https://docs.oracle.com/javase/tutorial/java/data/manipstrings.html
https://docs.oracle.com/javase/tutorial/java/data/comparestrings.html
https://docs.oracle.com/javase/tutorial/java/nutsandbolts/arrays.html
http://codingbat.com/doc/java-array-loops.html

(9/7) Lecture 6
https://docs.oracle.com/javase/tutorial/java/concepts/index.html
Go through all 6 pages.

(9/26) Lecture 12
https://docs.oracle.com/javase/tutorial/java/IandI/subclasses.html
Go from this page until the questions and exercises.

上课的课件(持续更新)

Lectures: http://www.cs.unc.edu/~kmp/comp401fall17/lectures

例子代码

Lecture Example Code: http://www.cs.unc.edu/~kmp/comp401fall17/lecture_code

作业现在已经做到的四个

http://www.cs.unc.edu/~kmp/comp401fall17/assignments/a1/fall17-a1.html
http://www.cs.unc.edu/~kmp/comp401fall17/assignments/a2/fall17-a2.html
http://www.cs.unc.edu/~kmp/comp401fall17/assignments/a3/fall17-a3.html
http://www.cs.unc.edu/~kmp/comp401fall17/assignments/a4/fall17-a4.html

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • /Library/Java/JavaVirtualMachines/jdk-9.jdk/Contents/Home...
    光剑书架上的书阅读 9,398评论 2 8
  • 作为一个程序员,在找工作的过程中,都会遇到笔试,而很多笔试里面都包括java,尤其是作为一个Android开发工程...
    左神话阅读 12,459评论 15 295
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,955评论 18 399
  • 在我们进行了Tuxera NTFS下载安装之后,我们可以免费体验十四天,之后就需要我们获取激活码,并将这款Mac读...
    小皇可可阅读 5,905评论 1 0
  • 生活,需要你选择一种态度去过。很多文字,很多人,看起来是鸡汤。但是在有的人眼里,这其实就是生活。疯癫也好,醉生梦死...
    Hebetow阅读 1,417评论 0 1