Разлики между Java List и Array List

Java е динамичен език и може да се използва на всяка платформа. Той предоставя списък с Java срещу ArrayList. Списък действа като интерфейс, а списъкът с масиви е изпълнение на списъка. Интерфейсът на списъка се състои от методи. Тези методи са включени в класацията Array list с няколко допълнения на методи. Основната разлика между Java List срещу ArrayList е, че трябва да създадете препратка към родителския интерфейс в първия и препратка към класа, който реализира списъка. Това означава, че класът Array list е вторият клас. Нека да разгледаме разликите между Java List и ArrayList.

Сравнение между главата и списъка с масиви (Инфографика)

По-долу е най-добрите 4 сравнение между Java List и Array List

Ключови разлики между списъка на Java срещу списъка с масиви

Разликите между списъка на Java срещу списъка с масиви са обяснени в по-долу споменатите точки:

  • Една от основните разлики е между Java List и Array List е, че списъкът е интерфейс, а списъкът с масиви е стандартен колекционен клас.
  • Интерфейсът на Java List разширява списъка на Collection и Array разширява класа на абстрактния списък и може също така да внедрява List интерфейс.
  • Интерфейсът на списъка създава колекция от елементи, които се съхраняват в последователност и могат да бъдат достъпни чрез неговия индекс номер. Списъкът с масиви, напротив, създава масив от обекти, където масивът може да се разраства динамично, когато се изисква и да намали.
  • И двата списъка на Java срещу списъка с масиви предлагат различни видове методи за достъп до данни от списъка. Тези методи дават възможност за получаване на елементи от масив в определената позиция, а също така премахват и свиват размера на масива в случай на списъка с масиви.

Таблица за сравнение на списък с Java срещу таблица с масиви

Следва таблицата за сравнение между Java List и Array List

Основата на сравнението между Java List и Array ListJava списъкСписък с масиви
Основна разликаСписък е интерфейс, който разширява колекцията. Докато разширява колекцията, той декларира поведението си и съхранява последователност от елементи. Списък може да има някои допълнителни методи, заедно с тези, присъстващи в колекцията. Списък може да съдържа и дублиращи се елементи. Много от методите в списък могат да хвърлят Неподдържано изключение на операцията, ако колекцията не може да бъде променена.Array List е клас, който разширява Абстрактния списък и реализира интерфейса на List. Нормалните масиви, които се използват в Java, са с фиксирана дължина. След като се създаде масив в Java, неговият размер не може да бъде увеличен или намален. Списъците с масиви са динамични и могат да бъдат създадени с първоначален размер, а по-късно размерът може да се увеличи, ако се добавят повече данни, а също така може да се намали, ако се премахнат данни.
СинтаксисСинтаксисът за деклариране на списък е следният:
публичен интерфейс Списъкът разширява колекцията
Синтаксисът за деклариране на списъка с масиви е както следва:
обществен клас ArrayList разширява списъка за изпълнение на AbstractList, RandomAccess, Cloneable, Serializable
работнатаJava List разширява рамката за колекция и използва пространство за имена system.collection.generic. Списък се използва за получаване на обекти, които са свързани с техните индексни номера. Обект на списък може да бъде създаден както по-долу:
Списък a = нов ArrayList ();
След като обект е създаден от потребител, може да ограничи типа на обекта, който може да се съхранява в списъка. Обект може да бъде обявен за безопасен тип. Това може да стане както по-долу:
// Obj е вид обект, който трябва да се съхранява в List.List list = new List ();
Списъкът с масиви се създава чрез разширяване на AbstractList и реализира интерфейса на списъка. Пространството от имена, използвано от списъка с масиви, е System. Колекции. Списъкът с масиви се счита, когато потребителят трябва да създаде динамичен масив, който съдържа обекти и който може да се добавя и премахва по време на изпълнение.
ArrayList е клас и следователно предоставя няколко конструктора. Тези конструктори са както по-долу:
1) ArrayList (): Използването на този конструктор може да създаде празен списък от масиви. (int капацитет): Основната характеристика на списъка с масиви е, че той се увеличава автоматично, когато се добавят повече елементи към списъка с масиви. Този конструктор помага да се създаде списък с масиви с зададен първоначален капацитет.
методиСписък предоставя различни методи:
1) void add (int индекс, Obj obj)
Този метод помага при поставяне на обекти. Това става чрез извикване на списък в индекса, който се предава. Всички съществуващи елементи се изместват и в резултат на това не се презаписват никакви данни.
2) Обект get (int индекс)
Той връща обекта, който се съхранява в този конкретен индекс в колекцията за извикване.
3) ListIterator listIterator ()
Тази функция връща итератор в началото на списъка за извикване.
4) Премахване на обект (int индекс)
Използва се за премахване на елементи в споменатия индекс на позицията и връща изтрития елемент. Също така, полученият списък се компресира и индексите на следващите елементи се намаляват с един.
5) Списък на подлист (int start, int end)
Той ще върне списък от начало до край, където началото е началният индекс, а края ще бъде крайният индекс. Елементите в списък могат да бъдат препращани и от извикващия обект.
Списъкът с масиви предоставя методи по-долу:
1) void add (int индекс, Obj obj)
Той вмъква определен елемент в определена позиция и ще хвърли изключение IndexOutOfBoundsException, когато споменатият индекс е извън обхвата.
2) Boolean съдържа (Object o)
Той търси списъка и връща true, ако посоченият елемент е налице. За да бъдем по-конкретни, ако списъкът съдържа поне един елемент, такъв че o == null? e == null: o.equals (e)
3) Обект get (int индекс)
Той връща присъстващия елемент в определената позиция и ще хвърли изключение IndexOutOfBoundsException, когато споменатият индекс е извън обхвата.
4) недействителна sureCapacity (int minCapacity)
Той увеличава капацитета на екземпляра от списъка Array. Той гарантира, че може да побере минимален брой елементи, който е определен като капацитет.
5) Обект () къмArray ()
Той връща масив, който се състои от всички елементи в списъка. Той връща NullPointerException, ако масивът е нулев.

Заключение - Java List vs Array List

В резултат списъкът с масиви е решението на проблема с паметта на статичния масив. Когато потребителят използва списък с масиви, се създава динамичен масив, който може да бъде увеличен, когато е необходимо. Нормалният списък разширява класа за събиране. Също така е по-добре да увеличите капацитета на масив в началото, отколкото да преразпределите паметта по-късно. Манипулацията е бавна в списъка с масиви, тъй като трябва да се извърши изместване, ако някой елемент бъде премахнат от списъка. В списък можете да извършвате различни операции с позиционен достъп, търсене и изглед на обхват.

Препоръчителен член

Това е ръководство за основните разлики между Java List и Array List. Тук също обсъждаме ключовите разлики на Java List vs Array List с инфографиката и таблицата за сравнение. Можете също така да разгледате следните статии, за да научите повече -

  1. Java Vector срещу ArrayList-Коя технология е най-добра?
  2. Java срещу JavaScript
  3. Scala vs Java Performance: кой е по-добър
  4. Java Heap срещу Stack
  5. C # масив срещу списък; Ползи
  6. Полезно ръководство за въпроси за интервю за тестване на Java
  7. Разлика между списък и набор