naukaJavy.pl

  • Zwiększ rozmiar czcionki
  • Domyślny  rozmiar czcionki
  • Zmniejsz rozmiar czcionki
Home Kurs języka Java

Listy

Email Drukuj

Listy są to uporządkowane kolekcje elementów. Listy dostarczane w ramach biblioteki standardowej języka Java to klasy implementujące interfejs java.util.List<E> (java.util.List w Javie sprzed wersji 1.5). Najpopularniejsze implementacje list to klasy: java.util.ArrayList<E>, java.util.LinkedList<E> i java.util.Vector<E>. Typowa deklaracja w Javie sprzed wersji 1.5 i utworzenie obiektu listy typu ArrayList wygląda następująco:

List myList = new ArrayList();

W nowych wersjach języka trzeba będzie jeszcze określić typ elementów. Jeśli przykładowo chcieli byśmy utworzyć listę obiektów typu String to napisalibyśmy:

List<String> myList = new ArrayList<String>();

albo:

List<String> myList = new LinkedList<String>();

albo:

List<String> myList = new Vector<String>();

Podstawowe operacje dostępne dla list to: dodawanie i usuwanie elementów, wyszukiwanie elementów na liście oraz sprawdzanie rozmiaru listy (tj. sprawdzanie ile elementów lista zawiera).

Operacja sprawdzania rozmiaru listy to ta sama operacja której używamy dla zbiorów, tj. operacja size(). Jest to zresztą operacja zdefiniowana w interfejsie Collection, z którego dziedziczą interfejsy List, Set oraz Queue, co oznacza, że wszystkie te kolekcje udostępniają metodę size().

Interfejs List definiuje dwie operacje dodawania elementów. Jednoargumentowa operacja add(E o) służy do dodawania elementów na pozycji zależnej od implementacji listy. W przypadku implementacji wymienionych powyżej (tj. ArrayList, LinkedList i Vector) dodawany element dołączany jest do końca listy. Dwuargumentowa operacja add(int index, E element) umożliwia określenie konkretnej pozycji na której należy wstawić dodawany element. Podobnie jak w przypadku tablic tak i w przypadku list pozycje są numerowane począwszy od zera, tj. aby dodać element na początku listy należy dodać ten element na pozycji 0. Ostatnią pozycją na której możemy dodać element jest pozycja równa rozmiarowi listy minus jeden. Aby dodać element na końcu listy utworzonej w którymś z powyższych przykładów możemy napisać:

myList.add("Ola");

albo:

myList.add(myList.size() – 1, "Ola");

Standardowa funkcjonalność wyszukiwania elementów na liście umożliwia odnalezienie pierwszego oraz ostatniego wystąpienia poszukiwanego elementu. Aby odnaleźć pierwsze wystąpienie elementu możemy użyć operacji indexOf(Object o). Aby odnaleźć ostatnie wystąpienie użyjemy operacji lastIndexOf(Object o). Obydwie te operacje zwracają liczbę typu int będącą indeksem na którym znajduje się poszukiwany element lub liczbę -1 jeśli lista ta nie zawiera szukanego elementu. Aby wyszukać element „Ola” na liście elementów typu String możemy napisać:

int firstOccurence = myList.indexOf("Ola");

if(firstOccurence != -1)
System.out.println("Znaleziono na pozycji " + firstOccurence);
else
System.out.println("Nie znaleziono");

Usuwać elementy listy możemy dwojako: podając element który należy usunąć albo indeks listy. Aby usunąć element znajdujący się na pewnej pozycji listy należy użyć operacji remove(int index). Operacja ta zwraca usunięty element. Aby usunąć element znany co do wartości użyjemy operacji remove(Object o) która zwraca wartość typu boolean informującą o statusie wykonania. Jeśli element został znaleziony to jest usuwany i zwracana jest wartość true. Jeśli lista nie zawierała takiego elementu zwracana jest wartość false.

 

Wiadomości

Vishal Sikka, CTO w firmie SAP zaapelował o autentyczne, pełne przekazanie zarządzania rozwojem języka i platformy Java w ręce zrzeszenia firm działającego na zasadzie równoprawności - zrzeszenia nie zdominowanego przez firmę SUN, czy obecnie Oracle (SUN został kupiony przez Oracle).

Jednocześnie zaapelował o udostępnienie kodu źródłowego Maszyny Wirtualnej Javy na zasadach open-source.

SAP zdecydowany jest zainwestować znaczne środki w rozwój Javy, jeśli tylko postulaty te zostaną spełnione – dodał.

Reklama

Co to jest

Apache Lucene Java to biblioteka open-source napisana w języku Java. Lucene służy do implementacji mechanizmów wyszukiwania pełnotekstowego – taki mały Google, który możemy mieć we własnej aplikacji.


© Wszelkie prawa zastrzeżone dla Mariusza Lipińskiego

kontakt: mariusz.lipinski@naukajavy.pl | strona domowa: www.mariuszlipinski.pl