数据集合
遍历数组与 ArrayList
选择集合、处理边界,并在删除元素时避免遗漏。
示例使用 Java。可在这里阅读和追踪,在 Java 环境中运行;工作室执行的是伪代码。
追踪大小与有效位置
数组长度固定,ArrayList 的大小可改变。两者都从 0 开始索引,最后有效位置分别是 length - 1 与 size() - 1。二维数组先按行、再按列索引。
删除 ArrayList 元素后,后面的元素向左移动。正向遍历删除时,下一个元素可能移动到刚访问的位置。倒序遍历可以避免遗漏。
import java.util.ArrayList;
public class Demo {
public static void main(String[] args) {
ArrayList<Integer> scores = new ArrayList<Integer>();
scores.add(40); scores.add(35); scores.add(70);
for (int i = scores.size() - 1; i >= 0; i--) {
if (scores.get(i) < 50) { scores.remove(i); }
}
System.out.println(scores);
}
}测试遍历过程
示例输出 [70]。还应测试空集合、全部匹配和连续匹配的元素。遍历二维数组时使用每一行自己的长度,不要假设所有行的列数相同。
从文本文件读取数据时,应把解析与分析分开。加入集合前检查缺失或格式错误的值。遍历正确不能弥补对输入数据的错误假设。
自我检测
为什么正向删除循环可能漏掉两个相邻低分中的一个?查看答案
删除第一个后,第二个向左移,而循环又增加索引,因此跳过了它的新位置。
编写这些课程时使用的参考资料
我们在编写本课程时参考了这些官方文件,用以确定考纲结构和课程要求。
College Board · 2025 年秋季起适用