Java 中 ArrayList 和 HashSet 的区别
javaobject oriented programmingprogramming更新于 2025/11/25 10:52:17
HashSet 和 ArrayList 都是 Java Collection 框架中最重要的类。
以下是 ArrayList 和 HashSet 之间的重要区别。
| Sr.不。 | 关键 | ArrayList | HashSet |
|---|---|---|---|
| 1 | 实现 | ArrayList 是列表接口的实现。 | 另一方面,HashSet 是集合接口的实现。 |
| 2 | 内部实现 | ArrayList 在内部实现了数组。 | HashSet 在内部使用 Hashmap 实现。 |
| 3 | 顺序元素 | ArrayList 维护插入顺序,即插入对象的顺序。 | HashSet 是一个无序集合,不维护任何顺序。 |
| 4 | 重复 | ArrayList 允许其集合中有重复的值。 | 另一方面,Hashset 中不允许重复元素。 |
| 5 | 索引性能 | ArrayList 使用索引来提高性能,即基于索引,可以通过调用 get(index) 检索对象或通过调用 remove(index) 删除对象 | HashSet 完全基于对象,也不提供 get() 方法。 |
| 6 | 允许 Null | 可以在 arraylist 中插入任意数量的 null 值,没有任何限制。 | 另一方面,Hashset 只允许其集合中有一个 null 值,之后不允许添加任何 null 值。 |
ArrayList 与 Hashset 的示例
JavaTester.java
import java.io.*;
import java.util.*;
public class JavaTester {
public static void main(String[] args) throws IOException{
int n = 5;
List<Integer> al = new ArrayList<>(n);
for (int i = 1; i <= n; i++) {
al.add(i);
}
System.out.println(al);
al.remove(3);
System.out.println(al);
for (int i = 0; i < al.size(); i++) {
System.out.print(al.get(i) + " ");
}
}
}
输出
[1, 2, 3, 4, 5] [1, 2, 3, 5] 1 2 3 5
示例
JavaTester.java
import java.util.HashSet;
import java.util.Set;
public class JavaTester {
public static void main(String[] args){
Set<Integer> hs = new HashSet<>();
hs.add(1);
hs.add(2);
hs.add(3);
hs.add(4);
hs.add(4);
for (Integer temp : hs) {
System.out.print(temp + " ");
}
}
}
输出
1 2 3 4
相关文章
有用资源
java 参考教程 - 该教程包含有关 java 的更多信息:https://www.cainiaomax.com/java/

