Разница между ArrayList и HashSet в Java

Опубликовано: 3 Декабря, 2021

Вот пара отличий между ArrayList и HashSet.

  1. Наследование:
  2. Реализация:
    Реализация: ArrayList реализует интерфейс List, а HashSet реализует интерфейс Set в Java.
  3. Внутренняя реализация:
    ArrayList поддерживается массивом, а HashSet поддерживается HashMap.
  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 коэффициент нагрузки)
  6. Заказ:
    ArrayList поддерживает порядок объектов, в которые они вставлены, в то время как HashSet является неупорядоченной коллекцией и не поддерживает никакого порядка.
  7. Индексирование:
    ArrayList основан на индексе, мы можем получить объект, вызвав метод get (index), или удалить объекты, вызвав метод remove (index), в то время как HashSet полностью основан на объектах. HashSet также не предоставляет метод get ().
  8. Нулевой объект:
    ArrayList не применяет никаких ограничений, мы можем добавить любое количество нулевых значений, в то время как HashSet разрешает одно нулевое значение.
  9. Синтаксис:
    ArrayList: -
    Список ArrayList = новый список ArrayList ();

    HashSet: -

    HashSet set = новый 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 

Вниманию читателя! Не прекращайте учиться сейчас. Ознакомьтесь со всеми важными концепциями Java Foundation и коллекций с помощью курса "Основы Java и Java Collections" по доступной для студентов цене и будьте готовы к работе в отрасли. Чтобы завершить подготовку от изучения языка к DS Algo и многому другому, см. Полный курс подготовки к собеседованию .