java创建链表 Java、Python中没有指针,怎么实现链表、图等数据结构?

Java、Python中没有指针,怎么实现链表、图等数据结构?你可以用Class写自己的链表,图等数据结构,也可以用已有的包或者开源包。Java源码hashmap,当key的hashcode相同的时候

Java、Python中没有指针,怎么实现链表、图等数据结构?

你可以用Class写自己的链表,图等数据结构,也可以用已有的包或者开源包。

Java源码hashmap,当key的hashcode相同的时候,为什么会把value加到链表里?

HashMap底层是一个一维数组,数组每个元素是一个链表。当添加元素的时候,先通过hashcode定位到数组下标,再通过equals方法判断链表中是否有相同的key,如果不同就会添加到链表中,相同则覆盖value。

Jdk8中,如果链表元素超过8个,为了性能就会把链表变成红黑树来存储。

hashcode方法尽量能减少哈希冲突,性能最高。如果链表很长,性能也就比较低了。