Jak korzystać z tablicy tablic Java

Jak korzystać z tablicy tablic Java

Do Javy Lista tablic to uniwersalna tablica o zmiennym rozmiarze. Zapewnia większość udogodnień, jakich zwykle oczekuje się od tablic w innych językach. Obejmują one: dostęp do elementów za pomocą indeksu, dodawanie, usuwanie i aktualizowanie elementów, dynamiczną zmianę rozmiaru, iterację elementów itp. Większość tych operacji została specjalnie dostosowana do użytku ogólnego.





co oznacza tryb niskiego poziomu danych?

Istnieje kilka innych typów „tablic” (klas, które implementują Lista interfejs techniczny), które są przeznaczone do specjalnych celów. Obejmują one:





  • Połączona lista obsługuje szybkie zakładanie i wyjmowanie przy indeksach pośrednich.
  • Wektor jest podobny do an Lista tablic ale jest zsynchronizowany i nadaje się zamiast Lista tablic dla aplikacji wielowątkowych.
  • Stos obsługuje operacje naśladowania listy „ostatni weszło-pierwsze wyszło”. Wydłuża Wektor i dlatego jest zsynchronizowany.

Te specjalne klasy są poza zakresem tego artykułu. Dowiesz się jednak, jak skonfigurować i używać uniwersalnej tablicy Java ArrayList.





Tworzenie tablicy tablicy

Tworzenie Lista tablic jest proste. Pusty Lista tablic można utworzyć za pomocą konstruktora bez argumentów. Tutaj tworzymy pustą arraylistę do przechowywania łańcuchów.

ArrayList alist = new ArrayList();

Jeśli wiesz, ile elementów będzie zawierać Twoja lista tablic, możesz określić początkową pojemność. Ta początkowa pojemność jest tylko wskazówką dotyczącą alokacji pamięci -- arraylist nie jest ograniczona do przechowywania określonej liczby elementów. Jeśli znasz i określisz początkową pojemność, móc uzyskać niewielką poprawę wydajności.



ArrayList alist = new ArrayList(20);

Wypełnianie ArrayList

Dodawanie pozycji na końcu

Wypełnianie tablicy arraylist jest dość łatwe. Po prostu użyj Dodaj() metoda, aby dodać pojedynczy element na końcu tablicy arraylist. Oto przykład:

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]

Aby dowiedzieć się, ile elementów znajduje się w arraylist, użyj metody rozmiar() .





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

Dodawanie pozycji w określonym indeksie

Chcesz dodać element do dowolnego indeksu? Podaj indeks jako pierwszy argument, a pozycja zostanie dodana do tego indeksu:

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

Dodawanie kilku przedmiotów

Możesz również dodawać elementy z dowolnej kolekcji w hierarchii kolekcji Java. jakiś Lista tablic to specyficzny typ zwany Lista . Oto sposób na skonstruowanie Lista z kilku przedmiotów (przy użyciu Tablice.asList() ) i dodaj go do Lista tablic .





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

Oczywiście możesz określić indeks jako pierwszy argument, aby dodać elementy zaczynające się od tego indeksu.

Dostęp do przedmiotów

Po dodaniu elementów do arraylist, jak mamy do nich ponownie dostęp?

Dostęp za pomocą indeksu

Jeśli znasz indeks elementu, możesz użyć dostwać() metoda, aby pobrać element pod tym indeksem.

czas na moim komputerze jest zły
String item = alist.get(2);
System.out.println('Item at index 2 is: ' + item);
# prints
Item at index 2 is: cantaloupe

Znajdowanie przedmiotów

Co zrobić, jeśli nie znasz indeksu przedmiotu? Możesz użyć indeks() aby sprawdzić, czy element jest obecny w tablicy i pobrać go za pomocą zwróconego indeksu.

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

Co się stanie, jeśli elementu nie ma w arraylist? ten indeks() metoda zwraca -1, gdy element nie zostanie znaleziony.

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

Iteracja po tablicy

Oczywiście najczęstsze użycie an Lista tablic iteruje po elementach. Można to osiągnąć na wiele sposobów. Poniżej przedstawiamy kilka prostych.

Oto najprostszy sposób iterowania po tablicy arraylist i wyodrębniania elementów do pewnego rodzaju przetwarzania.

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'

Ten kod wykorzystuje ulepszoną pętlę for Java, która została wprowadzona w Javie 1.5. Wcześniej można było iterować elementy za pomocą iteratora. Iterator jest również używany, gdy trzeba usunąć elementy podczas procesu iteracji, jak ilustruje poniższy przykład. (Zauważ, że robimy kopię arraylist i pracujemy na kopii.)

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'

Wymiana przedmiotów

Po dodaniu elementów potrzebujemy sposobu na zastąpienie niechcianych elementów. Można to zrobić za pomocą ustawić() metoda z indeksem.

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

Usuwanie przedmiotów

Zobaczmy teraz, jak możemy usunąć elementy z arraylist. Jeśli znasz indeks pozycji (być może użyłeś indeks() opisane powyżej), możesz użyć usunąć() metoda z indeksem. Zwraca usunięty element.

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

Możesz także określić element do usunięcia pierwszy wystąpienie elementu na liście. Metoda zwraca prawda czy element został znaleziony i usunięty.

kto należy do tego numeru telefonu
fruit = 'grapes';
System.out.println('Remove ' +fruit+ ' from the list? ' + alist.remove(fruit));
# prints
Remove grapes from the list? true

Jak korzystasz z Lista tablic w swoich projektach i z jakimi szczególnymi problemami się zmierzyłeś? Daj nam znać w komentarzach poniżej.

Udział Udział Ćwierkać E-mail Jak uzyskać dostęp do wbudowanej poziomicy Google na Androidzie?

Jeśli kiedykolwiek musiałeś upewnić się, że coś jest wypoziomowane w mgnieniu oka, możesz teraz uzyskać poziomicę w telefonie w kilka sekund.

Czytaj dalej
Powiązane tematy
  • Programowanie
  • Jawa
O autorze Jay Śridhar(17 opublikowanych artykułów) Więcej od Jaya Sridhar

Zapisz się do naszego newslettera

Dołącz do naszego newslettera, aby otrzymywać porady techniczne, recenzje, bezpłatne e-booki i ekskluzywne oferty!

Kliknij tutaj, aby zasubskrybować