List
Iz E-študij, proste zakladnice študentskega znanja
Podatkovna struktura List (Seznam) predstavlja splošno zaporedje objektov:
- pojem pozicije
- dodajanje in izločanje objektov v predvidenem času
Collection Framework vsebuje:
- vmesnik List
- dva abstraktna razreda: AbstractList in AbstractSequentialList
- več realiziranih razredov: LinkedList, ArrayList, Vector
- iterator ListIterator
Primer
import java.util.*; public class Seznam { public static void main(String[] args) { String[] avti = {"BMW","Ford","Yugo","Audi","Fiat","Renault","Pegueot","Seat","Citroen"}; List sez = Arrays.asList(avti); //ustvarimo List iz Arraya stringov avti System.out.println("sez = " + sez); System.out.println("sez.size() = " + sez.size()); System.out.println("sez.getClass().getName() = "+ sez.getClass().getName()); System.out.println("sez.get(1) = " + sez.get(1)); System.out.println("sez.contains(\"BMW\") = "+ sez.contains("BMW")); List podsez = sez.subList(2,7); System.out.println("podsez = " + podsez); Object object = podsez.get(1); System.out.println("podsez.get(1) = " + object); System.out.println("podsez.contains(\"BMW\") = "+ podsez.contains("BMW")); //podsez.remove(3); ListIterator it = podsez.listIterator(); System.out.println("it.next() = " + it.next()); System.out.println("it.next() = " + it.next()); System.out.println("it.next() = " + it.next()); System.out.println("it.next() = " + it.next()); System.out.println("it.previous() = " + it.previous()); System.out.println("it.previous() = " + it.previous()); //it.add("Volkswagen"); ArrayList Tsez=new ArrayList(); ListIterator it1 = sez.listIterator(); while (it1.hasNext()) Tsez.add(it1.next()); System.out.println("Tsez = " + Tsez); System.out.println("Pozicija= " + it1.nextIndex()); LinkedList Lsez=new LinkedList(Tsez); System.out.println("Lsez = " + Lsez); System.out.println("Lsez.getClass().getName() = "+ Lsez.getClass().getName()); while (it1.hasPrevious()) Lsez.addFirst(it1.previous()); System.out.println("Lsez = " + Lsez); System.out.println("Prvi element = " + Lsez.getFirst()); System.out.println("Zadnji element = " + Lsez.getLast()); System.out.println("Brisem prvi element"); Lsez.removeFirst(); System.out.println("Brisem zadnji element "); Lsez.removeLast(); System.out.println("Lsez = " + Lsez); System.out.println("Brisem celoten Lsez..."); ListIterator it2 = Lsez.listIterator(); while (it2.hasNext()) { System.out.println("Pozicija = " + it2.nextIndex()); //System.out.println("Element = " + it2.next()); //it2.remove(); System.out.println("Element = " + Lsez.getFirst()); Lsez.removeFirst(); } System.out.println("Lsez = " + Lsez); System.out.println("Brisem celoten Tsez..."); ListIterator it3 = Tsez.listIterator(); while (it3.hasNext()) { System.out.println("Pozicija = " + it3.nextIndex()); System.out.println("Element = " + it3.next()); it3.remove(); //System.out.println("Element = " + Tsez.get(0)); //Tsez.remove(0); } System.out.println("Tsez = " + Tsez); } }