Как да използвате Java ArrayList

Как да използвате Java ArrayList

Към Java ArrayList е масив с общо предназначение с възможност за преоразмеряване. Той предоставя повечето от удобствата, които обикновено се очакват от масиви на други езици. Те включват: достъп до елементи с помощта на индекс, добавяне, премахване и актуализиране на елементи, динамично преоразмеряване, повторение на елементите и т.н. Повечето от тези операции са специално променени за използване с общо предназначение.





как да изберете един цвят във Photoshop

Има няколко други типа „масиви“ (класове, които реализират Списък интерфейс, да бъде технически), които са предназначени за специални цели. Те включват:





  • LinkedList поддържа бързо вмъкване и премахване при междинни показатели.
  • Вектор е подобен на an ArrayList но е синхронизиран и е подходящ вместо ArrayList за многопоточни приложения.
  • Стек поддържа операции за имитиране на списък последен в първи излязъл. Той разширява Вектор и следователно се синхронизира.

Тези специални класове са извън обхвата на тази статия. Ще научите обаче как да настроите и използвате универсален Java ArrayList.





Създаване на ArrayList

Създаване на ArrayList е прост. Празно ArrayList могат да бъдат създадени с помощта на конструктора без аргументи. Тук създаваме празен аралист за държане на низове.

ArrayList alist = new ArrayList();

Ако случайно знаете колко елементи ще съдържа списъкът ви с масиви, можете да посочите първоначалния капацитет. Този първоначален капацитет е само намек за разпределение на паметта - манипулаторът не се ограничава до задържане на определения брой елементи. Ако знаете и посочвате първоначалния капацитет, вие биха могли, може постигнете леко подобрение в производителността.



ArrayList alist = new ArrayList(20);

Попълване на ArrayList

Добавяне на елементи в края

Попълването на аралист е доста лесно. Просто използвайте добави () метод за добавяне на единичен елемент в края на масива. Ето един пример:

ArrayList alist = new ArrayList();
alist.add('apple');
alist.add('banana');
alist.add('cantaloupe');
alist.add('orange');
System.out.println(alist);
# prints
[apple, banana, cantaloupe, orange]

Използвайте метода, за да намерите колко елемента има в масив размер () .





System.out.println('Number of elements in the arraylist: ' + alist.size());
# prints
Number of elements in the arraylist: 4

Добавяне на елементи в определен индекс

Искате ли да добавите елемент с произволен индекс? Посочете индекса като първи аргумент и елементът се добавя към този индекс:

alist.add(3, 'grapes');
System.out.println(alist);
# prints
[apple, banana, cantaloupe, grapes, orange]

Добавяне на куп елементи

Можете също да добавяте елементи от всяка колекция в йерархията на Java Collections Hierarchy. Ан ArrayList е специфичен тип, наречен Списък . Ето един начин за конструиране на a Списък от куп елементи (използвайки Arrays.asList () ) и го добавете към ArrayList .





List items = Arrays.asList('pear', 'cherry');
alist.addAll(items);
System.out.println(alist);
# prints
[apple, banana, cantaloupe, grapes, orange, pear, cherry]

Разбира се, можете да посочите индекс като първи аргумент тук, за да добавите елементите, започващи от този индекс.

Достъп до елементи

След като елементите са добавени към арелиста, как да имаме достъп до тях отново?

Достъп с индекс

Ако знаете индекса на елемента, можете да използвате get () метод за извличане на елемента в този индекс.

компютърът няма да се събуди от спящ windows 10
String item = alist.get(2);
System.out.println('Item at index 2 is: ' + item);
# prints
Item at index 2 is: cantaloupe

Намиране на предмети

Ами ако не знаете индекса на артикула? Можеш да използваш индекс на() за да проверите дали елементът присъства в масива и да го извлечете с помощта на върнатия индекс.

System.out.println(alist);
int index = alist.indexOf('orange');
if ( index <0 )
System.out.println('Item 'orange' not found');
else
System.out.println('Item 'orange' found at index ' + index);
# prints
[apple, banana, cantaloupe, grapes, orange, pear, cherry]
Item 'orange' found at index 4

Какво ще стане, ако елементът не присъства в масива? The индекс на() метод връща -1, когато елементът не е намерен.

index = alist.indexOf('grape');
if ( index <0 )
System.out.println('Item 'grape' not found');
else
System.out.println('Item 'grape' found at index ' + index);
# prints
Item 'grape' not found

Итерация над масив

Разбира се, най -често срещаната употреба на ArrayList повтаря елементите. Това може да се постигне по няколко начина. Тук показваме няколко прости.

Ето най -простият начин за повторение на аралист и извличане на елементите за някакъв вид обработка.

for (String fruit : alist) {
System.out.println('Found fruit '' + fruit + ''');
}
# prints
Found fruit 'apple'
Found fruit 'banana'
Found fruit 'cantaloupe'
Found fruit 'grapes'
Found fruit 'orange'
Found fruit 'pear'
Found fruit 'cherry'

Този код използва Java Enhanced For-Loop, въведен в Java 1.5. Преди това можете да повторите елементите с итератор. Итератор се използва и когато е необходимо Премахване елементи по време на процеса на итерация, както илюстрира примерът по -долу. (Имайте предвид, че правим копие на аралиста и работим върху копието.)

ArrayList blist = new ArrayList(alist);
for (Iterator iter = blist.iterator() ; iter.hasNext() ; ) {
String fruit = iter.next();
if ( fruit.startsWith('c') )
iter.remove();
else
System.out.println('Keeping '' + fruit + ''');
}
# prints
Keeping 'apple'
Keeping 'banana'
Keeping 'grapes'
Keeping 'orange'
Keeping 'pear'

Подмяна на артикули

След като се добавят елементи, имаме нужда от начин да заменим нежеланите елементи. Това може да стане с помощта на комплект() метод с индекс.

alist.set(5, 'pineapple');
System.out.println(alist);
# prints
[apple, banana, cantaloupe, grapes, orange, pineapple, cherry]

Премахване на елементи

Нека сега да видим как можем да премахнем елементи от масив. Ако знаете индекса на артикула (може би сте използвали индекс на() описани по -горе), можете да използвате Премахване() метод с индекса. Той връща премахнатия елемент.

String fruit = alist.remove(2);
System.out.println('Removed element at 2: ' + fruit);
# prints
Removed element at 2: cantaloupe

Можете също да посочите елемента за премахване на първо появата на елемента в списъка. Методът се връща вярно ако елементът е намерен и премахнат.

защо браузърът ми продължава да се срива
fruit = 'grapes';
System.out.println('Remove ' +fruit+ ' from the list? ' + alist.remove(fruit));
# prints
Remove grapes from the list? true

Как използвате ArrayList във вашите проекти и с какви специални проблеми сте се сблъсквали? Моля, уведомете ни в коментарите по -долу.

Дял Дял Туит електронна поща Как да получите достъп до вграденото ниво на балон на Google в Android

Ако някога сте имали нужда да се уверите, че нещо е на ниво, сега можете да получите ниво на балончета на телефона си за секунди.

Прочетете Напред
Свързани теми
  • Програмиране
  • Java
За автора Джей Шридхар(17 статии са публикувани) Още от Джей Шридхар

Абонирайте се за нашия бюлетин

Присъединете се към нашия бюлетин за технически съвети, рецензии, безплатни електронни книги и изключителни оферти!

Щракнете тук, за да се абонирате