java对数据结构进行了封装,所以java工程师没有必要跟具体的数据结构打交道,不过要一直停留在会用的层次上,那么可能就像我一样,想进互联网,结果面试被各种鄙视。也只有进入互联网,才能感觉到我们怎么去对待技术,什么叫精通java?就是当你编程的时候,感觉自己不是在jdk交互,而是和jvm交互,远了远了,咱们干正事。
java中对数据机构的应用主要集中在,Collection极和Map极其实现类中,以下是各个接口的实现细节:
上面的图可以看出,Java中LinkedList、Vector、ArrayList、AbstractMap、AbstractSet、HashSet、LinkedHashSet都直接或间接实现了Collection接口,HashMap、TreeMap、Hashtbale都实现了Map接口,同时Hashtable继承了Dictionary。
下面这张图展示了java各种数据结构的实现在主要方面的区别:
首先我们对java中数据结构的实现关系有个印象,接下来在一个一个类、接口慢慢啃。
(注:图片均来自于http://blog.163.com/tianshenglongchang@126/blog/static/16462850320127731510787/,感谢作者的辛勤付出)