可能重复:
Maximum Size of HashSet
如何在HashSet中添加不同的IP地址
Set<String> ips = new HashSet<String>();
String ip = generateIPAddress();
if (!ips.add(ip)) {
// What should I do here?
}
private String generateIPAddress() {
Random r = new Random();
//Now the IP is b1.b2.b3.b4
String s = r.nextInt(256) + "." + r.nextInt(256) + "." + r.nextInt(256) + "." + r.nextInt(256);
return s;
}
答案 0 :(得分:0)
add()
如果是新值,则返回true
,所以:
while (!ips.add(ip)) {
ip = generateIPAddress(); // try again
}
这将保持循环,直到您添加新的唯一值。
理论上它可以永远循环,但如果你的随机生成器是合理的,它最终会找到一个新的唯一值。