LinkedList w Java to struktura danych, która jest częścią Java Collections Framework. LinkedList jest implementacją listy wiązanej, która może przechowywać dowolny typ obiektów. Pozwala na dynamiczne dodawanie i usuwanie elementów, bez potrzeby redymensjonowania, jak to ma miejsce w przypadku tablic. W tej lekcji przyjrzymy się, jak tworzyć i manipulować LinkedList w Javie, na przykładzie listy przechowującej dane o stacjach meteorologicznych.
Definicja klasy WeatherStation
Zacznijmy od zdefiniowania klasy WeatherStation
, która będzie przechowywała informacje o nazwie stacji oraz średniej rocznej temperaturze.
public class WeatherStation {
private String name; // Nazwa stacji
private double averageAnnualTemperature; // Średnia roczna temperatura
// Konstruktor
public WeatherStation(String name, double temp) {
this.name = name;
this.averageAnnualTemperature = temp;
}
// Metoda zwracająca nazwę stacji
public String getName() {
return name;
}
// Metoda zwracająca średnią roczną temperaturę
public double getAverageAnnualTemperature() {
return averageAnnualTemperature;
}
}
Praca z LinkedList
Teraz, gdy mamy klasę WeatherStation
, możemy stworzyć LinkedList przechowującą obiekty tej klasy. Pokażemy, jak dodawać elementy do listy, jak iterować przez listę oraz jak usuwać elementy.
import java.util.LinkedList;
public class WeatherStationManager {
public static void main(String[] args) {
// Tworzenie LinkedList przechowującej stacje meteorologiczne
LinkedList<WeatherStation> stations = new LinkedList<>();
// Dodawanie stacji do listy
stations.add(new WeatherStation("Alaska", -5.6));
stations.add(new WeatherStation("Sahara", 30.0));
stations.add(new WeatherStation("Syberia", -10.0));
// Wyświetlanie informacji o stacjach
for (WeatherStation station : stations) {
System.out.println(station.getName()
+ " ma średnią roczną temperaturę "
+ station.getAverageAnnualTemperature()
+ " stopni Celsjusza.");
}
// Usuwanie stacji z listy
stations.removeIf(s -> s.getName().equals("Sahara"));
System.out.println("Po usunięciu, lista zawiera: ");
stations.forEach(s -> System.out.println(s.getName()));
}
}
Podsumowanie
W tej lekcji omówiliśmy, jak używać LinkedList
w Javie, na przykładzie przechowywania i zarządzania danymi o stacjach meteorologicznych. LinkedList jest elastyczną strukturą danych, która umożliwia łatwe dodawanie i usuwanie elementów. Jest szczególnie użyteczna, gdy potrzebujemy dynamicznie zmieniać rozmiar kolekcji. LinkedList może być bardziej wydajna niż ArrayList przy częstym dodawaniu i usuwaniu elementów, szczególnie jeśli operacje te wykonujemy na początku lub w środku listy.
Jeżeli chcesz przyśpieszyć swoją naukę tworzenia stron chciałbym polecić mój kurs video Java w którym nauczysz się tego języka od podstaw do zaawansowanych jego aspektów.