下面的方法(generateID()
)它生成一个随机id,当我将学生存储在其中时,HashMap
我想检查生成的id是否在hashMap值中不存在,如果它存在我想生成一个新的id然后存储它,方法存储的问题有时它不会存储所有学生,因为某些学生可能具有相同的 id,这是不允许的,那么最好的方法是为什么检查所有 id 都是唯一的,如果有重复,方法 generateid 将是再次调用 util 所有的 ids 都是 uniqe 然后它会存储它,我想确保产生的 ids 值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);
}