Jak používat Java ArrayList
ArrayList je jedna z nejčastěji používaných datových struktur v Javě. Umožňuje dynamicky upravovat a ukládat sbírku objektů. V tomto tutoriálu vám představíme syntaxi Java ArrayList a vysvětlíme, kdy ji použít.
Jaký je rozdíl mezi ArrayList a Array v Javě?
Java ArrayList je dynamický, což znamená, že se zvětšuje a zmenšuje, když se přidávají nebo odstraňují prvky. Stojí za zmínku, že třída ArrayList je součástí Java Collections Framework a není nativně dostupná. Na rozdíl od polí musí být importována z knihovny java.util.
ArrayLists jsou vhodnou volbou, pokud se délka seznamu Java List může potenciálně měnit. Příklady zahrnují ukládání objektů, vyhledávání nebo třídění dat a vytváření seznamů nebo front.
Naopak, velikost pole nelze změnit. To znamená, že byste měli ideálně předem znát počet objektů, které pole bude obsahovat. Pole jsou vhodná pro správu předem definované sady primitivních datových typů, jako jsou int, float, char nebo Boolean.
Nevýhodou ArrayListů je, že přístup k nim může trvat déle. Zatímco pole mají pevný souvislý blok paměti, objekty v ArrayListech nejsou uloženy souvisle. Je důležité vzít v úvahu výhody a nevýhody datových struktur, abyste mohli vybrat tu, která nejlépe vyhovuje vašemu použití.
Jaká je syntaxe pro Java ArrayList?
Před vytvořením ArrayList je nutné importovat odpovídající třídu z knihovny java.util.
import java.util.ArrayList;JavaObecná syntaxe je:
ArrayList<Type> arrayList= new ArrayList<>();Java„Typ“ označuje příslušný datový typ v Java ArrayList.
Dalším krokem je vytvoření seznamů strings a integers.
ArrayList<String> arrayList= new ArrayList<>();JavaArrayList<Integer> arrayList= new ArrayList<>();JavaArrayLists používají odpovídající obalovou třídu primitivních datových typů, takže se s nimi zachází jako s objekty. To znamená, že musíte zadat integer místo int.
Příklady metod Java ArrayList
Operace, jako je přidávání nebo odebírání prvků, se v ArrayLists neprovádějí pomocí operátorů jazyka Java, ale pomocí předdefinovaných metod. Níže vám ukážeme nejběžnější metody ArrayList.
Přidávání prvků
Po vytvoření ArrayList „colours“ (String typů) přidáme různé prvky pomocí metody .add().
import java.util.ArrayList;
class Main {
public static void main(String[] args){
ArrayList<String> colours = new ArrayList<>();
colours.add("blue");
colours.add("red");
colours.add("green");
System.out.println("ArrayList: " + colours);
}
}JavaVýsledkem je:
ArrayList: [blue, red, green]JavaOdstranění prvků
K odstranění objektů z Java ArrayList používáme metodu .remove() a zadáme index prvku.
import java.util.ArrayList;
class Main {
public static void main(String[] args) {
ArrayList<String> colours = new ArrayList<>();
colours.add("blue");
colours.add("red");
colours.add("green");
System.out.println("ArrayList: " + colours);
String colour = colours.remove(1);
System.out.println("ArrayList: " + colours);
System.out.println("Removed Element: " + colour);
}
}JavaVýstup zobrazuje upravený ArrayList a odstraněný prvek:
ArrayList: [blue, green]
Removed Element: redJavaStejně jako u většiny programovacích jazyků začíná počítání v Javě od 0. To znamená, že odstraněný prvek na indexu 1 je red.
Přístup k prvkům v Java ArrayList
Pomocí funkce .get() můžeme přistupovat k prvku na konkrétní pozici.
import java.util.ArrayList;
class Main {
public static void main(String[] args) {
ArrayList<String> clothes = new ArrayList<>();
clothes.add("jacket");
clothes.add("shirt");
clothes.add("pullover");
System.out.println("ArrayList: " + clothes);
String str = clothes.get(2);
System.out.print("Element at index 2: " + str);
}
}JavaVýsledkem je:
ArrayList: [jacket, shirt, pullover]
Element at index 2: pulloverJavaMěnící se prvky
S .set() můžeme změnit prvek přiřazením nového prvku na konkrétním indexu.
import java.util.ArrayList;
class Main {
public static void main(String[] args) {
ArrayList<String> colours = new ArrayList<>();
colours.add("blue");
colours.add("red");
colours.add("green");
System.out.println("ArrayList: " + colours);
colours.set(2, "yellow");
System.out.println("Modified ArrayList: " + colours);
}
}JavaNyní vidíme yellow místo green na indexu 2:
ArrayList: [blue, red, green]
Modified ArrayList: [blue, red, yellow]JavaUrčení délky Java ArrayList
Počet prvků v ArrayList lze snadno vypočítat pomocí metody .size().
import java.util.ArrayList;
class Main {
public static void main(String[] args) {
ArrayList<String> colours = new ArrayList<>();
colours.add("blue");
colours.add("red");
colours.add("green");
System.out.println(colours.size());
}
}JavaToto je výsledek:
3JavaTřídění a iterace přes ArrayList
Pro třídění Java ArrayList je nutné importovat třídu collections. Pro iterace používáme smyčku Java for-each. Při každé iteraci smyčky se příslušný prvek vypíše na konzoli.
import java.util.ArrayList;
import java.util.Collections;
public class Main {
public static void main(String[] args) {
ArrayList<Integer> ages = new ArrayList<Integer>();
ages.add(20);
ages.add(54);
ages.add(17);
ages.add(9);
Collections.sort(ages);
for (int i : ages) {
System.out.println(i);
}
}
}JavaPrvky ArrayList jsou zobrazeny od nejmenších po největší:
9
17
20
54Java