Java - ArrayList - .size() 方法

标签 java arrays loops for-loop arraylist

我目前正在学习Java编程语言,需要帮助了解ArrayList类的size方法。在提问之前,让我解释一下这个程序。

这个程序计算类(class)成绩的平均值。

我的问题是关于 ArrayList 类的大小方法。在 For 循环中,关系表达式“i < grades.size()”将运行“i”,直到它小于数组的大小。我被告知数组的大小总是比数组中元素的数量多一,所以在我的例子中,假设我的数组中有 3 个元素(成绩),我实际上有一个数组大小为 4(类似字符串的工作原理)。请注意,在我退出 For 循环后,我可以使用 size 方法适本地计算我的平均值。我很困惑,因为如果数组的大小比元素的数量多 1,那么它不会除以 4 而不是 3?为什么规则在 For 循环中的作用不同?感谢任何愿意阐明这一点的人。

    import java.util.ArrayList; 


public class Chap11Part1 

    public static void main(String[] args)
    {
        double average;
        int total = 0;
        ArrayList<Integer> grades = new ArrayList<Integer>();
        grades.add(78);
        grades.add(84);
        grades.add(90);
        for(int i = 0; i < grades.size(); ++i) 
            total += grades.get(i); 
        average = total / grades.size();
        System.out.println("The average is " + average);

最佳答案

数组的大小与元素的数量相同。唯一要记住的是索引从 0 开始;所以最后一个索引将是 size-1:

import java.util.ArrayList;

public class Chap11Part1 {

    public static void main(String[] args) {
        double average;
        int total = 0;
        ArrayList<Integer> grades = new ArrayList<Integer>();
        grades.add(78);
        grades.add(84);
        grades.add(90);
        for (int i = 0; i < grades.size(); ++i)
            total += grades.get(i);
        average = total / grades.size();
        System.out.println("The average is " + average);
    }
}

关于Java - ArrayList - .size() 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30578739/

相关文章:

java - 在本地模式下将存档添加到分布式缓存 pigServer

java - 安卓机房 : Get present database version/check if is out-dated

java - Apache Derby # 符号上出现词法错误?

javascript - 有没有一种方法可以使用 jquery 或 javascript 对数组中的重复项进行排序

C++ 将 uint8_t 转换为 unsigned long

java - POI - Java - 使用 for 循环更新单元格

java - 选择 Java 集合实现的经验法则?

c++ - setPercent 函数正在打印垃圾数据

c# - 执行 while 循环以检查文件是否存在

r - 在 R 中遍历数据帧长度的正确方法