以下の方法 ( generateID()
) はランダムな ID を生成します. 学生を保存するときHashMap
, 生成された ID が hashMap 値に存在しないかどうかを確認し, 存在する場合は新しい ID を生成して保存します.メソッドストアの問題 一部の学生が同じIDを持っている可能性があり、これが許可されていないため、すべての学生を保存しない場合があります。したがって、すべてのIDが一意であることを確認する最善の理由は何ですか?重複がある場合、メソッド generateid はutil すべての ID が uniqe であると再度呼び出され、それが保存されgenerateId()
ます。
private String generateId(String perfix, int numberaOfDigits)
{
for(int i=0;i<numberaOfDigits;i++)
{
perfix += randomGenerator.nextInt(9)+ 1;
}
return perfix;
}
public void store(Student student)
{
int index = 0;
studentMap.setId(generateId("AB-",1));
while(index <= studentMap.size())
{
for(Student stu : studentMap.values() )
{
if(student.getStduentID().equals(stu.getStduentID()))
{
student.setId(generateId("AB-",1));
}
}
index++;
}
}
studentMap.put(student.getStduentID(),student);
}