在每个覆盖equals方法的类中,也必须覆盖hashCode方法。否则,会违反Object.hashCode的通用约定,从而导致该类无法结合所有基于散列的集合一起正常工作,包括HashMap,HashSet,Hashtbale。 hashCode约定内容: 1.只要对象equals方法的比较操作所用 ...
分类:
其他好文 时间:
2016-07-06 10:00:17
阅读次数:
105
list,set,map,数组间的相互转换1.list转setSet set = new HashSet(new ArrayList()); 2.set转listList list = new ArrayList(new HashSet()); 3.数组转为listList stooges = Ar ...
分类:
编程语言 时间:
2016-07-05 13:53:33
阅读次数:
186
需要唯一吗? 需要:Set 需要制定顺序吗? 需要:TreeSet 不需要:HashSet 但是想要一个和存储一致的顺序(有序):LinkedHashSet 不需要:List 需要频繁增删吗? 需要:LinkedList 不需要:ArrayList 如何记录每一个容器的结构和所属体系呢? 看名字 L ...
分类:
编程语言 时间:
2016-07-05 10:21:16
阅读次数:
196
要点: 1、Collection接口为所有集合类提供了共同方法(映射除外,映射是通过Map接口描述的) 2、列表是一个有序集合,其中的每个元素都有一个整数索引 3、set针对高效包含测试进行过优化。Java提供了HashSet和TreeSet实现 4、对映射来说,可以选择HashMap或TreeMa ...
分类:
编程语言 时间:
2016-07-04 23:48:00
阅读次数:
403
两数组的交 两数组的交 样例:nums1 = [1, 2, 2, 1], nums2 = [2, 2], 返回 [2]. 解答一:用两个HashSet 解答二:对两个数组排序,然后各用一个指针遍历。 解答三:对num2排序,然后遍历num1中的数,在num2中进行二分查找,找到就放入set中。 ...
分类:
编程语言 时间:
2016-07-03 19:01:01
阅读次数:
125
分析HashMap和HashSet的内核实现原理,从源代码的角度去分析和理解它们...
分类:
其他好文 时间:
2016-07-02 21:34:39
阅读次数:
217
https://leetcode.com/problems/data-stream-as-disjoint-intervals/ Given a data stream input of non-negative integers a1, a2, ..., an, ..., summarize th ...
分类:
其他好文 时间:
2016-06-29 22:18:45
阅读次数:
181
为了方便编写出线程安全的程序,Java里面提供了一些线程安全类和并发工具,比如:同步容器、并发容器、阻塞队列、Synchronizer。 同时说说List,Set,Map之间的区别. 自动扩展的数组: List 重复的数组:set 自动排序的组数 :TreeSet,TreeList,Tree** 而 ...
分类:
编程语言 时间:
2016-06-29 20:44:50
阅读次数:
270
HashSet的巧妙实现:就是建立一个“键值对”,“键”就是我们要存入的对象,“值”则是一个常量。这样可以确保, 我们所需要的存储的信息之是“键”。而“键”在Map中是不能重复的,这就保证了我们存入Set中的所有的元素都不重复。而判断是否添加元素成功,则是通 过判断我们向Map中存入的“键值对”是否 ...
分类:
其他好文 时间:
2016-06-27 23:21:59
阅读次数:
393
很长时间以来一直代码中用的比较多的数据列表主要是List,而且都是ArrayList,感觉有这个玩意就够了。ArrayList是用于实现动态数组的包装工具类,这样写代码的时候就可以拉进拉出,迭代遍历,蛮方便的。 也不知道从什么时候开始慢慢的代码中就经常会出现HashMap和HashSet之类的工具类 ...
分类:
编程语言 时间:
2016-06-27 17:34:59
阅读次数:
267