Java中ArrayList和HashSet的区别

Java中ArrayList和HashSet的区别

以下是 ArrayList 和 HashSet 之间的一些区别。

1、继承

Java中ArrayList和HashSet的区别

2、执行
实现:ArrayList 实现 List 接口,而 HashSetJava 中实现 Set 接口。

3、内部实现
ArrayList 由 Array 支持,而 HashSetHashMap 支持。

4、重复
ArrayList 允许重复值,而 HashSet 不允许重复值。

5、构造函数
ArrayList 有 ArrayList() , ArrayList(int capacity)ArrayList(int Collection c) 三个构造函数,而 HashSet 有 HashSet() , HashSet(int capacity) , HashSet(Collection c)HashSet(int capacity, float loadFactor)

6、顺序
ArrayList 维护插入对象的顺序,而 HashSet 是无序集合,不维护任何顺序。

7、索引
ArrayList 是基于索引的,可以通过调用 get(index) 方法检索对象或通过调用 remove(index) 方法删除对象,而 HashSet 完全基于对象。 HashSet 也不提供 get() 方法。

8、空对象
ArrayList 没有任何限制,可以添加任意数量的空值,而 HashSet 允许一个空值。

ArrayList示例

// Java program to demonstrate working of ArrayList in Java

import java.io.*;
import java.util.*;

class ArrayListTest {

    public static void main(String[] args)
        throws IOException
    {
        // size of ArrayList
        int n = 5;

        // declaring ArrayList with initial size n
        List<Integer> al = new ArrayList<>(n);

        // Appending the new element at the end of the list
        for (int i = 1; i <= n; i++) {
            al.add(i);
        }

        // Printing elements
        System.out.println(al);

        // Remove element at index 3
        al.remove(3);

        // Displaying ArrayList after deletion
        System.out.println(al);

        // Printing elements one by one
        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

HashSet示例

// Java program to demonstrate working of HashSet

import java.util.HashSet;
import java.util.Set;

class HashSetDemo {

    public static void main(String[] args)
    {

        // Create a HashSet
        Set<Integer> hs = new HashSet<>();

        // add elements to HashSet
        hs.add(1);
        hs.add(2);
        hs.add(3);
        hs.add(4);

        // Duplicate removed
        hs.add(4);

        // Displaying HashSet elements
        for (Integer temp : hs) {
            System.out.print(temp + " ");
        }
    }
}

运行结果:

1 2 3 4

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程