arraylist在java中创建一个包含10个唯一数字的数组
这是我第一次问这个问题
我想用10个从0到9的唯一整数制作ArrayList。 我要做下一步:
- 创建空的Arraylist
- 添加第一个随机数,这样我以后可以检查重复
- 接下来我创建新的随机int值,检查ArrayList中是否已经有这个值。如果我有-我尝试另一个数字,如果我没有-我加上这个数字李>
- 如果我有10个数字,我就停止循环
我的代码:
public static void main(String[] args) {
Random rd = new Random();
ArrayList<Integer> list = new ArrayList<Integer>();
int q = rd.nextInt(10);
list.add(q);
while (true) {
int a = rd.nextInt(10);
for (int b=0;b<list.size();b++){
if (a == list.get(b)) break;
else list.add(a);
}
if (list.size() == 10) break;
}
System.out.println(list);
}
但我在控制台中看到的只是无休止的过程
问题是——有没有其他方法可以让ArrayList包含10个唯一的数字(0到9)
# 1 楼答案
在用数字初始化}
ArrayList
之后使用^{这将以线性时间运行,因为
ArrayList
是RandomAccess
# 2 楼答案
使用Java8流