将16位数字转换为原始数字的Java程序

将16位数字转换为原始数字的Java程序,java,Java,我需要输入4位数字1101,然后我需要生成16位数字(1234567891234567)。当输入生成的16位数字时,我需要显示输入的数字1101。如何在java中定义双向映射 class BiDirMap<K,V> extends HashMap<K, V>{ Map<V,K> reversedMap = new HashMap<V,K>(); @Override public V put(K key, V value)

我需要输入4位数字1101,然后我需要生成16位数字(1234567891234567)。当输入生成的16位数字时,我需要显示输入的数字1101。如何在java中定义双向映射

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);
    }
}
并通过如下值进行查找:

myFoo.getKeyFromValue(1234567891234567);

请注意,像Guava这样的第三方LIB也会这样做

使用地图如何?
long output=(输入<10000?输入+12345678900120000L:input%10000)
或者更简单:
long output=1234567891234567L-input
16位数字应该是随机的16位数字,还是有规则?谢谢!!!它正在工作嗨,类中没有可用的getNumberFor()方法。请更新。。。这是一种返回从数字1111Ok计算出的长值的方法。。谢谢你的通讯
myFoo.put(1111, getNumberFor(1111));
myFoo.put(122, getNumberFor(122));
myFoo.getKeyFromValue(1234567891234567);