2013-04-16 32 views
-1

我已經閱讀了一個將ID設置爲未知的文件,並且爲每個學生創建了一個唯一ID,然後我寫入了一個文件,例如創建學生和將它添加到列表(HashMap)。我如何確定爲新學生分配的ID尚未分配給文件Student_data.txt中的一個學生? 我如何確保新學生的ID,當我屁股不在包含舊加入學生的txt文件中時hashmap如何確保新學生的ID是獨一無二的

+0

什麼樣的ID您使用的是? –

+1

'nextId = 1;''addStudent(){hashmap.add(student,nextID ++)}'總是增加'nextID',並讓'nextID'持久。 –

+0

由隨機類生成的ID例如「AB-1212」,我應該爲您提供方法 –

回答

0

爲什麼不從學生的名字中創建SHA-1或一些其他領域,並將其用作關鍵?

static HashFunction hashFunction = Hashing.sha1(); 
public static byte[] getHash(final String name) { 
    HashCode hashCode = hashFunction.newHasher().putBytes(name.getBytes).hash(); 
    return hashCode.asBytes(); 
} 

我用谷歌圖書館要做到這一點,你可以用MessageDigest爲好,但它不是線程安全的。

要讀取哈希

System.out.println("Hash is: " + new String(Hex.encodeHex(hashInByte))); 

輸出結果是這樣的:

Hash is: ff56b9948d201ee37605e101e01f63aab97b5e4a 
+0

但我想讀取該文件,並將其與新的生成ID進行比較 –

+0

當然,你可以做到這一點。只要讀取散列爲十六進制。病毒更新 – noMAD