public static void main(String[] args) {
ArrayList<Integer> list = new ArrayList<>();
TreeSet<Integer> ts = new TreeSet<>();
Random r = new Random();
for (int i = 0; i < 5; i++){
/**------------------1start-----------------------*/
list.add(r.nextInt(10) + 1);
System.out.print(r.nextInt(10) + 1 +" ");
/**------------------1end-----------------------*/
/**------------------2start-----------------------*/
int a = r.nextInt(10) + 1;
list.add(a);
System.out.print(a + " ");
/**------------------2end-----------------------*/
}
for (Integer i : list) {
ts.add(i);
}
list.clear();
list.addAll(ts);
System.out.println(list);
在1中,r.nextInt(10) + 1的值赋给list之后,和后面循环完了打印出来的list值不一样
在2中,r.nextInt(10) + 1先赋值给a,然后把a添加到list中,这样a的只就是后面打印出来的list的值。
这问题出在哪呢?
|
|