为什么我们需要Java中的集合框架
数组是一种连续内存分配中相同类型元素的集合。它们用于表示数字、字符串等事物的列表。
语法
<element-type>[] <array-name> = new <element-type>[<array-size>];
步骤
要实现数组,请按照以下步骤进行:
- 步骤1 −在填充所需数组的每个单独元素之前,应仔细考虑选择适合的数据类型。
-
步骤2 −通过考虑具体使用要求,确定所需容量将能够选择准确和最优的数组大小。
-
步骤3 −声明一个数组变量。
-
步骤4 −要访问数组的各个元素,请使用索引运算符[]并执行必要的操作。
-
步骤5 −要对数组中的每个元素执行相关操作,可以使用循环来对它们进行系统性处理并执行所需任务。
示例
public class Main {
public static void main(String[] args) {
int[] marks = new int[3];
marks[0] = 75;
marks[1] = 20;
marks[2] = 87;
for (int i = 0; i < marks.length; i++) {
System.out.println("Marks of student " + (i + 1) + ": " + marks[i]);
}
int sum = 0;
for (int i = 0; i < marks.length; i++) {
sum += marks[i];
}
double average = (double) sum / marks.length;
System.out.println("Average marks: " + average);
}
}
输出
Marks of student 1: 75
Marks of student 2: 20
Marks of student 3: 87
Average marks: 60.66
Java中数组的限制
-
数组的大小不可变 - 在运行时无法增加或减小数组的大小。
-
数组不是内存高效的 - 如果添加到数组中的元素数量小于分配的大小,可能会浪费内存。
-
数组没有内置方法 - 数组没有任何内置方法来执行常见操作,如添加、搜索等。
-
数组只能存储同类型的元素 - 数组只能存储相同类型的元素。
-
没有底层数据结构 - 数组的实现方式不使用标准数据结构。因此,没有现成的方法支持可用。
Java中的集合框架
在Java中,集合框架旨在提供一种标准化的方式,或者可以说它提供了一个现成的架构来解决特定的问题或任务,通过利用一组抽象类、接口和其他组件。
集合是将多个单独的对象作为一个整体进行组合。在Java的集合框架中,有多个不同的类和接口,提供了有效的表示集合的方法。通过java.util包可以访问到诸如ArrayList、LinkedList、HashSet和TreeSet等常用的集合类。
语法
语法取决于具体的类,例如:
ArrayList
ArrayList<T> list = new ArrayList<T>();
链表
LinkedList<T> list = new LinkedList<T>();
步骤
按照以下步骤实现:
- 步骤 1 - 根据程序的要求选择适当的集合类。
-
步骤 2 - 导入集合所需的类。
-
步骤 3 - 声明一个集合类的变量。
-
步骤 4 - 使用适当的构造函数实例化集合。
-
步骤 5 - 根据要求使用方法。
-
步骤 6 - 在程序中根据需要使用集合。
示例
import java.util.ArrayList;
public class Main {
public static void main(String[] args) {
ArrayList<String> names = new ArrayList<String>();
names.add("Apoorva");
names.add("Anamika");
names.add("Supriya");
System.out.println("Names: " + names);
names.remove(1);
names.set(1, "Neha");
System.out.println("Names: " + names);
for (String name : names) {
System.out.println("Name: " + name);
}
}
}
输出
Names: [Apoorva, Anamika, Supriya]
Names: [Apoorva, Neha, Supriya]
Name: Apoorva
Name: Neha
Name: Supriya
因此,可以通过使用Java集合框架来克服数组的缺点或限制。因此,我们需要一个集合框架。该框架的优点如下:
- 集合的可扩展性 − 现在,由于集合的可扩展性,大小不再是一个问题,我们可以在运行时增加或减小大小。
-
集合在内存上更有效率 − 根据需求,元素可以增加或减少,因此从内存的角度来看,推荐使用集合。
-
集合具有内置方法 − 集合有许多内置方法,可以执行常见操作,如添加、搜索等。
-
集合保存同类型和不同类型的数据元素 − 集合既可以保存相同类型的元素,也可以保存不同类型的元素。
-
标准数据结构 − 集合基于标准数据结构,因此每个集合都支持现成的方法。
结论
很明显,数组和集合都具有独特的优点和缺点。根据您程序的具体要求,选择它们之间的区别至关重要。在数据大小预先确定且需要快速访问元素的情况下,数组更适合。集合更适用于需要更灵活的数据结构并希望使用内置方法对其进行操作的情况。