①HashSet是采用HashMap来实现的;这个HashMap的key就是放进HashSet中的对象,value就是一个Object类型的对象
②当调用HashSet的add方法时,实际上是想HashMap中增加了一行(key-value对),该行的key就是往HashSet增加的那个对象,该行的value就是一个Object类型的常量。
③HashMap底层采用数组来维护
④调用增...
分类:
编程语言 时间:
2014-07-22 23:05:34
阅读次数:
364
今天项目中遇到了一个对List中对象去重的问题。首先对于我们自己系统中的对象我们只要重写该对象的
equal 和 hashcode 即可(利用对象中的能够唯一确定对象的属性)。但是我遇到的不是本系统的对象, 而是另一个系统中的对象,
我本身是无法对其进行重写的。 我的处理方法是遍历List,利用Ma...
分类:
其他好文 时间:
2014-05-13 19:06:03
阅读次数:
237
一共M个任务以及N个线程,我们需要将M个任务均匀地分配到N个线程。
假设各个任务有自己的任务id,简单的做法是i=id%N(i指分配到哪个线程处理)。
但如果任务id分布不均衡将导致任务的最终分配不均衡,为了解决这一问题,一个简单的方法是对任务id进行一个hashcode转换,使得转换...
分类:
其他好文 时间:
2014-05-12 13:59:09
阅读次数:
240
概述JBoss MSC 是WildFly 8 和 JBoss 7的底层容器...
分类:
其他好文 时间:
2014-05-10 09:43:23
阅读次数:
308
Java中对Map(HashMap,TreeMap,Hashtable等)的排序时间
首先简单说一下他们之间的区别: HashMap: 最常用的Map,它根据键的HashCode
值存储数据,根据键可以直接获取它的值,具有很快的访问速度。HashMap最多只允许一条记录的键为Null(多条会覆盖);...
分类:
编程语言 时间:
2014-05-08 13:44:25
阅读次数:
333
Java String 字符串的HashCode值
public int hashCode()
Returns a hash code for this string. The hash code for a String object is computed as
s[0]*31^(n-1) + s[1]*31^(n-2) + ... + s[n-1]
using int ari...
分类:
编程语言 时间:
2014-05-08 10:44:53
阅读次数:
533
TreeSet.add()方法一细节
最近在一次使用TreeSet.add()方法中遇到了一个很迷惑的问题:往一个TreeSet集合中添加几个对象的时候发现有些没有添加进去,一开始是怀疑hashcode与equals的问题,因为Set集合是不允许添加两个相同对象的,但经查检确认没有问题,几经测试发现是传入的Comporator对象引起的(即使用的是TreeSet(Comparator<...
分类:
其他好文 时间:
2014-04-30 22:17:38
阅读次数:
366
在java所有类中都有一个共有的父类Object,一个类只要没有明显的继承一个类,则肯定是object类的子类
object类中有常用的四个方法。1、public object()构造方法
2、public boolean equals(object obj)对象比较 3、public int hashcode()取得hash码
4、public String toString();对象打...
分类:
其他好文 时间:
2014-04-29 13:17:21
阅读次数:
373