我有一个要求,就像我输入4位数字1101然后我需要生成16位数字(1234567891234567)。当输入生成的16位数字时,我需要显示输入的数字1101.如何在java中执行此操作
答案 0 :(得分:1)
定义Bidirectinal Map
class BiDirMap<K,V> extends HashMap<K, V>{
Map<V,K> reversedMap = new HashMap<V,K>();
@Override
public V put(K key, V value) {
// TODO Auto-generated method stub
reversedMap.put(value, key);
return super.put(key, value);
}
public K getKeyFromValue(V value){
return reversedMap.get(value);
}
}
和使用它:
Map<Long, Long> myFoo = new BiDirMap<Long, Long>();
添加以下元素:
myFoo.put(1111, getNumberFor(1111));
myFoo.put(122, getNumberFor(122));
并按以下值查找:
myFoo.getKeyFromValue(1234567891234567);
请注意像Guava这样的第三方库也会这样做