java的集合 链表和hash表问题

刚刚看了java集合 有些不懂的地方
链表为什么有利于增删
hash表为什么有利于改查

1个回答

链表和hash表两种增删改查情况是相对的,链表中的元素在内存中不是顺序存储的,而是通过存在元素中的指针联系到一起。就是说它前后数据联系在一起是通过一个指针指向的,当你想要增加或是删除一个数时,只要找到这个数,之后把它上面那个指向它的指针指向下面一个数就删除了,指向它,再把它指向另外一个数就添加了。但它要查询就必须从第一个一直往下查询了。而hash表的添加删除都涉及到了后面数据位置的整体添加和删除,所以不利于增删,但它查询可以直接通过key值找到value,所以速度肯定很快,而改其实是在查的基础上改,对其余值得位置没啥影响,也就谁查的快就改的快。

xionglangs
编程爱好者熊浪 确实,它是无序的,是数组需要 挪动位置,它的原因应该是要先都检测以便key的值是否重复。
2 年多之前 回复
qq_27836205
Jordan裔 hash表不是无序的吗 为什么添加删除还涉及到数据的位置
2 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!