ArrayList的索引?

Mia*_*Mia 1 java arraylist

来自我的AP计算机科学一本评论书:

考虑这个程序段.您可以假设wordList已声明为ArrayList<String>.

for(String s : wordList)
   if(s.length() < 4)
     System.out.println("SHORT WORD");
Run Code Online (Sandbox Code Playgroud)

"SHORT WORD可以打印的最大次数是多少?"

该书说答案是wordList.size(),但为什么不是wordList.size() - 1?ArrayList的索引是否与常规数组不同?我的书说明了它自动添加一个索引,但我可能已经读错了.

Viv*_*ath 6

该书说答案是wordList.size(),但为什么不是wordList.size() - 1?

它不会也不会,因为它可以打印的最大次数是所有单词wordList都少于四个字符.

我认为你可能会混淆a中ArrayList有效索引的元素数量ArrayList.ListJava中的数组和s是从零开始的,所以从中运行0list.size() - 1.这意味着最后一个元素是list.size() - 1.这样想吧.如果你有这些数字0, 1, 2, 3,你总共拥有多少个数字?你有四个号码.但是,如果将这些数字推入基于零的数组中,则第一个元素位于位置0,第二个元素位于位置1,依此类推,直到您在位置具有最后一个元素3.

这张照片可以帮助你:

Indices:   0   1   2   3
         +---+---+---+---+
Values:  | 1 | 2 | 3 | 4 |
         +---+---+---+---+
Run Code Online (Sandbox Code Playgroud)