有人可以解释一下尝试反转此 arrayList 时这里发生了什么吗?我只是想理解

  • 本文关键字:发生了 这里 arrayList 解释 一下 java
  • 更新时间 :
  • 英文 :


当我试图反转这个数组列表时,我试图理解这里发生了什么,为什么将大小减少-1,为什么将I减少--会反转顺序?我知道当我在ArrayList上循环时会发生什么,但我不明白当我试图颠倒顺序时会发生哪里,有人能向我解释一下吗?我对编程还相当陌生。

ArrayList<String> colorsArray = new ArrayList<>();
colorsArray.add("Blue");
colorsArray.add("Black");
colorsArray.add("Yellow");
colorsArray.add("Brown");
colorsArray.add("White");
//prints arraylist..
for(int i =0; i < colorsArray.size(); i++){
System.out.println("Array List: " + colorsArray.get(i));
}
//This prints ArrayList in reverseOrder...
for(int i = colorsArray.size() - 1;  i >= 0; i --){
System.out.println("Array List Reverse Order: " + colorsArray.get(i));
}
}

它不是"反转数组列表";。它只是按相反的顺序打印内容。

您的第一个循环从0计数到N-1,其中N是列表的大小。第二个循环从N-1倒计时到0。

然后,在每个循环中,打印位于计数的当前值(位于名为i的变量中(指示的位置的列表元素。

仅此而已。

ArrayList是一个有序列表。这意味着列表的每个位置都是从0开始连续编号的,直到列表的大小减1为止(因为它从0开始,而不是1(。

因此,您的列表元素将在列表中具有以下索引。

0-蓝色

1-黑色

2-黄色

3-浏览

4-Whote

这样,list.get(0)返回Bluelist.get(3)返回Brown

在第一个循环中,从04遍历列表中的所有元素,但在第二个循环中从40,这就是它以相反顺序打印的原因。

最新更新