摘要: Java容器 Java容器分为Collection和Map,Collection保存单一对象而Map保存键值对。 List linkedList 中间插入、删除快,优化顺序访问,随机访问慢 arrayList 随机访问和顺序访问快,中间插入、删除慢 Stack Set hashSet TreeSet 阅读全文
posted @ 2019-02-08 20:57 darknessplus 阅读(68) 评论(0) 推荐(0) 编辑
摘要: 数据结构 使用的是HashMap,value一律为Object 阅读全文
posted @ 2019-02-08 20:36 darknessplus 阅读(78) 评论(0) 推荐(0) 编辑
摘要: 修改了key之后不能remove 问题的原因是对key进行了修改(因为key类重写了hashcode和equals方法,所以key对象的hash也会随之改变),由于对象在map中的位置是由修改前的key的hash计算而来的,而删除过程中的查找使用的是修改后的对象的hash,两次hash不一致,因此找 阅读全文
posted @ 2019-02-08 20:25 darknessplus 阅读(145) 评论(0) 推荐(0) 编辑
摘要: 数据结构 双向链表 节点类型: 成员变量 重要方法 add(E e) 添加到链表尾,注意空链表 remove(Object o) o==null时要把Node.item==null都删除,删除Node要注意前后节点的链接,考虑前后节点在头尾 阅读全文
posted @ 2019-02-08 19:53 darknessplus 阅读(77) 评论(0) 推荐(0) 编辑
摘要: 两个都可以用来判断两个对象是否相同一致。 hashCode相同的不一定是同一个对象;hashCode不同的一定不是相同对象 equals相同的一定是相同对象,是绝对可靠的 既然equals这么可靠,那为什么还要用hashCode进行比较呢? 由于equals方法对很多条件进行了比较,因此性能比has 阅读全文
posted @ 2019-02-08 16:30 darknessplus 阅读(171) 评论(0) 推荐(0) 编辑
摘要: 参考:http://www.cnblogs.com/joemsu/p/7724623.html [toc] 数据结构 jdk1.8:数组、链表/红黑树(jdk1.7的是数组+链表) 节点数据类型: Node(hash,key,value,next) 参数 重要方法 get 根据key的hashCod 阅读全文
posted @ 2019-02-08 15:36 darknessplus 阅读(105) 评论(0) 推荐(0) 编辑