1. Java集合框架基础概念
在Java编程中,数组和集合是我们最常使用的数据结构。虽然它们都能存储多个元素,但在实现方式和操作特性上有着本质区别。数组是Java语言内置的基础数据结构,而集合则是通过Java集合框架(Java Collections Framework)提供的一系列接口和类实现的。
数组最大的特点是长度固定、类型统一,在内存中连续存储。而集合框架则提供了更灵活的数据结构,包括:
- List:有序可重复集合
- Set:无序不可重复集合
- Map:键值对映射结构
理解如何正确获取这些数据结构的长度以及高效遍历它们,是Java开发中的基本功。下面我将结合多年开发经验,详细解析各种情况下的最佳实践。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 数组的长度获取与遍历
2.1 数组长度获取
Java数组的长度是通过length属性获取的,这是一个final字段:
java复制int[] numbers = {1, 2, 3, 4, 5};
int length = numbers.length; // 返回5
注意:数组的length是属性不是方法,不要加括号。这是新手常犯的错误。
对于多维数组,length返回的是第一维的长度:
java复制int[][] matrix = new int[3][4];
System.out.println(matrix.length); // 输出3,不是12
2.2 数组遍历方式
2.2.1 传统for循环
java复制for(int i=0; i<numbers.length; i++) {
System.out.println(numbers[i]);
}
这是最基础的遍历方式,适合需要索引的场景。我在性能敏感代码中通常会优先使用这种方式。
2.2.2 增强for循环
java复制for(int num : numbers) {
System.out.println(num);
}
语法更简洁,但无法获取当前索引。在不需要索引时推荐使用,代码可读性更好。
2.2.3 Java 8 Stream API
java复制Arrays.stream(numbers).forEach(
