我有很多国家。我想从阵列列表中随机选择5个国家/地区,但我希望它们是唯一的。
这是我到目前为止所拥有的:
String allCountries[] = {"Finland", "Latvia", "Poland", "Afghanistan", "Albania", "Algeria"};
String country1 = (allCountries[new Random().nextInt(allCountries.length)]);
String country2 = (allCountries[new Random().nextInt(allCountries.length)]);
String country3 = (allCountries[new Random().nextInt(allCountries.length)]);
String country4 = (allCountries[new Random().nextInt(allCountries.length)]);
String country5 = (allCountries[new Random().nextInt(allCountries.length)]);
在生成随机元素时比较这些字符串的最佳方法是什么?
编辑:
我表示不好。我的问题是我不希望字符串country1,country 2等相同...所以我希望它们始终是不同的。
解决方案:
Collections.shuffle(Arrays.asList(allCountries));
最佳答案
随机排列数组,然后切片前5个元素。
这将保证5个唯一的随机元素。