ArrayList
to dynamiczna lista z biblioteki Java Collections Framework, która działa podobnie do tablicy, ale automatycznie zwiększa swój rozmiar w razie potrzeby.
Musisz zaimportować:
import java.util.ArrayList;
📌 Tworzenie ArrayList
import java.util.ArrayList;
public class Main {
public static void main(String[] args) {
// Tworzymy listę Stringów
ArrayList<String> fruits = new ArrayList<>();
// Dodawanie elementów
fruits.add("Jabłko");
fruits.add("Banan");
fruits.add("Pomarańcza");
System.out.println(fruits); // [Jabłko, Banan, Pomarańcza]
}
}
🔁 Iteracja przez ArrayList
for (String fruit : fruits) {
System.out.println(fruit);
}
📋 Inne metody ArrayList
// Wstawianie na konkretną pozycję
fruits.add(1, "Truskawka"); // Dodaje na pozycję 1
// Pobieranie elementu
String first = fruits.get(0); // "Jabłko"
// Usuwanie elementu
fruits.remove("Banan"); // Usuwa "Banan"
fruits.remove(0); // Usuwa element na pozycji 0
// Zmiana elementu
fruits.set(0, "Ananas"); // Zmienia pierwszy element
// Sprawdzenie, czy lista zawiera element
boolean hasApple = fruits.contains("Jabłko");
// Rozmiar listy
int size = fruits.size();
// Czyszczenie listy
fruits.clear();
🔢 Przykład z liczbami
ArrayList<Integer> numbers = new ArrayList<>();
numbers.add(10);
numbers.add(20);
numbers.add(30);
for (int num : numbers) {
System.out.println(num);
}
🔢 Sortowanie ArrayList
Można łatwo posortować listę alfabetycznie (dla tekstu) lub rosnąco (dla liczb) za pomocą Collections.sort()
.
import java.util.ArrayList;
import java.util.Collections;
public class Main {
public static void main(String[] args) {
ArrayList<String> fruits = new ArrayList<>();
fruits.add("Banan");
fruits.add("Jabłko");
fruits.add("Gruszka");
Collections.sort(fruits);
System.out.println(fruits); // [Banan, Gruszka, Jabłko]
}
}
Dla liczb działa tak samo:
ArrayList<Integer> numbers = new ArrayList<>();
numbers.add(30);
numbers.add(10);
numbers.add(20);
Collections.sort(numbers); // [10, 20, 30]
🔍 Filtrowanie ArrayList (Java 8+)
Można użyć stream()
i filter()
żeby wybrać tylko pasujące elementy.
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
public class Main {
public static void main(String[] args) {
ArrayList<String> fruits = new ArrayList<>();
fruits.add("Banan");
fruits.add("Jabłko");
fruits.add("Gruszka");
// Filtruj owoce zaczynające się na "J"
List<String> filtered = fruits.stream()
.filter(f -> f.startsWith("J"))
.collect(Collectors.toList());
System.out.println(filtered); // [Jabłko]
}
}
🔁 Konwersja ArrayList do tablicy
Czasem trzeba przekonwertować listę na tablicę, np. do starszego kodu.
Dla typu String
:
ArrayList<String> fruits = new ArrayList<>();
fruits.add("Jabłko");
fruits.add("Banan");
String[] array = fruits.toArray(new String[0]);
for (String fruit : array) {
System.out.println(fruit);
}
Dla typu Integer
:
tArrayList<Integer> numbers = new ArrayList<>();
numbers.add(1);
numbers.add(2);
Integer[] numArray = numbers.toArray(new Integer[0]);