下面是ArrayList和HashSet之间的几个区别。

继承关系:
Java ArrayList和HashSet的区别

  • 实现:ArrayList实现List接口,而HashSet实现Java中的Set接口。
  • 内部实现:ArrayList由Array支持,而HashSet由HashMap支持。
  • 重复项:ArrayList允许重复值,而HashSet不允许重复值。
  • 构造函数:ArrayList具有三个构造函数,分别为ArrayList(), ArrayList(int capacity)ArrayList(int Collection c),而HashSet具有四个构造函数,分别为:HashSet(), HashSet(int capacity), HashSet(Collection c)HashSet(int capacity, float loadFactor)
  • 排序方式:ArrayList保持插入对象的顺序,而HashSet是无序集合,不保持任何顺序。
  • 索引:ArrayList是基于索引的,可以通过调用get(index)方法来检索对象,也可以通过调用remove(index)方法来删除对象,而HashSet完全基于对象。 HashSet也不提供get()方法。
  • 空对象:ArrayList没有施加任何限制,可以添加任意数量的null值,而HashSet允许null值。

语法:

ArrayList:

ArrayList list=new ArrayList();

HashSet:

HashSet set=new 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
欢迎任何形式的转载,但请务必注明出处,尊重他人劳动成果。
转载请注明:文章转载自 有区别网 [http://www.hasdiffer.com]
本文标题:Java ArrayList和HashSet的区别
本文链接:http://www.vsdiffer.com/arraylist-vs-hashset-in-java.html
免责声明:本站部分内容除注明转载外,均为本站网站用户投稿或互联网整理。对于该内容的正确性如何,本站不负任何责任。同时,如本网站内容无意之中冒犯了您的权益,请联系站长,邮箱:1478761107#qq.com(使用@代替#),我们核实并会尽快处理。

相关主题

随机