Java中的数组与集合:初学者完全指南——第一部分

面向初学者的在线Python训练器

轻松学习Python,无需理论负担。在浏览器中直接解决带自动检查的实践任务,无需安装任何东西。

开始课程

Java中的数组与集合:初学者完全指南 — 第一部分

学习 Java 离不开理解如何存储和管理数据组。本文将涵盖两个基础主题:数组 和 集合。这是完全指南的第一部分,适合零基础 学习,并帮助您系统化 编程 知识。



Java中的数组是什么?

数组是一种长度固定的数据结构,用于存储相同类型的元素。数组是 Java初学者 的基础,因为它们简单且快速。然而,其主要缺点是创建后无法更改大小。



声明和初始化数组

在 Java 中,使用方括号声明数组。基本语法如下:

int[] numbers = new int[5]; // 包含5个整数的数组String[] names = {"Anna", "Boris", "Viktor"}; // 字面量初始化


访问元素和数组长度

索引从0开始。数组长度存储在 length 属性中:

int first = numbers[0];int size = numbers.length; // 5


操作数组的循环

使用 for 或 for-each 遍历元素非常方便:

for (int i = 0; i < numbers.length; i++) {    System.out.println(numbers[i]);}

for (int num : numbers) { System.out.println(num);}


多维数组

Java 支持数组的数组。例如,二维数组就是一个表格:

int[][] matrix = new int[3][4]; // 3行4列matrix[1][2] = 42;

多维数组适用于矩阵、游戏棋盘和图像等场景。



Java集合:灵活的替代方案

集合是来自 Java 集合框架(JCF)的动态数据结构。它们解决了数组的主要问题:可以自动扩展和收缩。编程 中必须掌握集合。



主要集合接口

  • List — 有序列表,允许重复元素(ArrayList, LinkedList)。
  • Set — 无重复元素的集合(HashSet, TreeSet)。
  • Map — 字典:键 → 值(HashMap, TreeMap)。


ArrayList:动态数组

最流行的集合类型。使用示例:

import java.util.ArrayList;

ArrayList<String> list = new ArrayList<>();list.add("Java");list.add("Python");list.add("C++");System.out.println(list.get(0)); // JavaSystem.out.println(list.size()); // 3


HashSet:唯一元素

当需要排除重复项时使用 Set:

import java.util.HashSet;

HashSet<Integer> set = new HashSet<>();set.add(10);set.add(20);set.add(10); // 不会被添加System.out.println(set.size()); // 2


HashMap:键值对

非常适合快速查找:

import java.util.HashMap;

HashMap<String, Integer> map = new HashMap<>();map.put("Alice", 25);map.put("Bob", 30);System.out.println(map.get("Alice")); // 25


何时使用数组,何时使用集合?

选择取决于任务需求:

  • 数组 — 当大小固定、需要最大化性能或处理原始类型时。
  • 集合 — 当数据动态变化,或需要唯一性、排序以及基于键的查找时。

对于 学习 Java,建议从数组开始,然后再学习集合。



示例:数组与集合的结合使用

考虑一个任务:将数组转换为列表,再转换回来

博客

书籍推荐