如何确保新学生的ID是独一无二的

时间:2013-04-16 14:00:14

标签: java io hashmap hashset bluej

我已经阅读了一个文件,将ids设置为未知,我为每个学生创建了一个uniqe id,然后我写了一个文件,例如,如果创建Student并将其添加到列表中(HashMap)。我怎样才能确定为新学生分配的ID尚未分配给Student_data.txt文件中的某个学生? 我如何确保新学生的ID不在txt文件中,该文件包含添加到hashMap的老学生

1 个答案:

答案 0 :(得分: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();
}

我使用Google库执行此操作,您也可以使用MessageDigest,但它不是线程安全的。

阅读哈希

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

输出将是这样的:

Hash is: ff56b9948d201ee37605e101e01f63aab97b5e4a