Разлики между 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 List | Java списък | Списък с масиви |
Основна разлика | Списък е интерфейс, който разширява колекцията. Докато разширява колекцията, той декларира поведението си и съхранява последователност от елементи. Списък може да има някои допълнителни методи, заедно с тези, присъстващи в колекцията. Списък може да съдържа и дублиращи се елементи. Много от методите в списък могат да хвърлят Неподдържано изключение на операцията, ако колекцията не може да бъде променена. | 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 с инфографиката и таблицата за сравнение. Можете също така да разгледате следните статии, за да научите повече -
- Java Vector срещу ArrayList-Коя технология е най-добра?
- Java срещу JavaScript
- Scala vs Java Performance: кой е по-добър
- Java Heap срещу Stack
- C # масив срещу списък; Ползи
- Полезно ръководство за въпроси за интервю за тестване на Java
- Разлика между списък и набор