Я хотел бы разработать хеш-функцию, которая получает объект BitSet и генерирует значение хеш-функции на основе числа 1 в BitSet.Это число рассчитывается с использованием:
BitSet b = new Bitset();
int card = b.cardinality();
Например:
110
1
010
111
Мне нужна карта, которая возвращает элементы в следующем порядке:
1
010
110
111
или
010
1
110
111
Допустим, у вас есть только утилита TObjectIntCustomHashMap:
map = new TObjectIntCustomHashMap<BitSet>( new HashingStrategy<BitSet>() {
@Override
public int computeHashCode( BitSet str ) {
return System.identityHashCode( str );
}
@Override
public boolean equals( BitSet str1, BitSet str2 ) {
return (str1.cardinality() < str2.cardinality());
}
});
, но результат не такой, как ожидалось.