Java seznami so še posebej primerni za scenarije, v katerih velikost po­dat­kov­ne­ga niza ni jasna že od začetka ali če se pričakuje, da se bo velikost sčasoma spre­me­ni­la. Pokazali vam bomo konkretne primere, kako upo­ra­blja­ti Java sezname, ter operacije, ki jih lahko z njimi izvajate.

Za kaj se lahko upo­ra­blja­jo Java seznami?

Seznami so ena od temeljnih po­dat­kov­nih struktur v pro­gra­mi­ra­nju v Javi in se lahko upo­ra­blja­jo na različne načine. Vsebujejo elemente, ki so raz­po­re­je­ni v urejenem zaporedju. Elementom v seznamu lahko dodajate, jih spre­mi­nja­te, brišete ali po­i­zve­du­je­te. Seznami v Javi lahko vsebujejo objekte, ki pripadajo različnim razredom. Prav tako je mogoče shra­nje­va­ti podvojene elemente ali ničelne elemente. Poleg tega seznami v Javi podpirajo generične razrede in metode, kar za­go­ta­vlja varnost tipov.

Seznami se lahko upo­ra­blja­jo za apli­ka­ci­je z bazami podatkov. Tukaj se upo­ra­blja­jo za shra­nje­va­nje in dostop do velikih naborov podatkov iz poizvedb v bazah podatkov. V grafičnih upo­rab­ni­ških vmesnikih se seznami Java pogosto upo­ra­blja­jo za prikaz seznama elementov, kot so možnosti v spustnem meniju ali različni izdelki v spletni trgovini.

Java seznami so ne­po­gre­šlji­vi tudi v al­go­rit­mih in po­dat­kov­nih struk­tu­rah. Upo­ra­blja­jo se v al­go­rit­mih za raz­vr­šča­nje, al­go­rit­mih za iskanje ter struk­tu­rah zalog in čakalnih vrst. V omrežnih apli­ka­ci­jah lahko seznami olajšajo upra­vlja­nje povezav in vtičnic.

Katere metode za sezname ima Java?

Java seznami spadajo v vmesnik Col­lec­ti­on in jih je treba uvoziti iz paketa java.util. Z Java ArrayList, Lin­ke­dList, Vector in Stack lahko izbirate med raz­lič­ni­mi ra­zre­dni­mi im­ple­men­ta­ci­ja­mi. Različne instance seznamov lahko de­kla­ri­ra­te z naslednjo kodo:

List linkedList = new LinkedList(); // LinkedList
List arrayList = new ArrayList(); // ArrayList
List vecList = new Vector(); // Vector
List stackList = new Stack(); //Stack
Java

Tukaj je nekaj naj­po­memb­nej­ših metod, ki jih lahko uporabite za sezname v Javi:

  1. int size(): Določi število elementov na seznamu
  2. void add(int index, E element): Dodaja element na določeno mesto
  3. boolean isEmpty(): Preveri, ali je seznam prazen
  4. void clear(): Odstrani vse elemente s seznama
  5. boolean contains(Object o): Vrne vrednost true, če je objekt o na seznamu
  6. boolean add(E e): Dodaja element na konec seznama
  7. boolean remove(Object o): Odstrani prvi pojav elementa
  8. E get(int index): Nadomesti ali vstavi element na določen indeks
  9. E set(int index, E element): Nadomesti ali vstavi element na določen indeks
  10. Object[] toArray(): Vrne niz, ki vsebuje elemente iz seznama
  11. List<E> subList(int fromIndex, int toIndex): Zajame vse elemente znotraj do­lo­če­ne­ga intervala
  12. default void replaceAll(UnaryOperator<E> operator): Stan­dar­dna metoda v Javi 8, ki na vsak element uporabi enostavne Java operacije in nato vsak element nadomesti z re­zul­ta­tom operacije.

Kako upo­ra­blja­ti sezname Java

V na­da­lje­va­nju bomo prikazali pogoste metode, ki se upo­ra­blja­jo pri delu z Java seznami. Te vklju­ču­je­jo pre­tvar­ja­nje nizov v sezname in obratno, kot tudi raz­vr­šča­nje, pri­do­bi­va­nje in spre­mi­nja­nje elementov.

Pretvori niz v seznam

Da bi pre­tvo­ri­li niz v seznam, lahko z zankami ponovite niz in elemente enega po enega dodate na seznam z metodo add().

import java.util.*;
    public class ArrayToList{
      public static void main(String args[]){
      // Creating Array
      String[] colors={"blue","green","red","yellow"};
      System.out.println("Array: "+Arrays.toString(colors));
      //Converting Array to List
      List<String> list=new ArrayList<String>();
      for(String color: colors){
        list.add(color);
      }
      System.out.println("List: "+list);
      }
    }
Java

Rezultat je naslednji:

Array: [blue, green, red, yellow]
List: [blue, green, red, yellow]
Java

Pretvori seznam v niz

Z metodo toArray() lahko seznam pre­tvo­ri­te v niz:

import java.util.*;
    public class ListToArray{
      public static void main(String args[]){
       List<String> days = new ArrayList<String>();
       days.add("Monday");
       days.add("Tuesday");
       days.add("Wednesday");
       days.add("Thursday");
       days.add("Friday");
       days.add("Saturday");
       days.add("Sunday");
       // Converting ArrayList to Array
       String[] array = days.toArray(new String[days.size()]);
       System.out.println("Array: "+Arrays.toString(array));
       System.out.println("List: "+days);
      }
    }
Java

V izhodu lahko vidite, da so elementi v nizu in seznamu identični:

Array: [Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday]
List: [Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday]
Java

Klicanje in spre­mi­nja­nje elementov v seznamu Java

Z metodo get() lahko dostopate do elementa na določenem indeksu. Metoda set() vam omogoča, da element zamenjate z drugim elementom na določeni poziciji v seznamu.

import java.util.*;
    public class ListExample{
      public static void main(String args[]){
      // Creating a List
      List<String> letters=new ArrayList<String>();
      // Adding elements
      letters.add("a");
      letters.add("b");
      letters.add("c");
      // get()
      System.out.println("Element at index 1: "+letters.get(1));
      // set()
      letters.set(2, "d");
      for(String letter: letters)
      System.out.println(letter);
      }
    }
Java

Ker se štetje v Javi začne z indeksom 0, dobimo naslednji rezultat:

Element at index 1: b
a
b
d
Java

Razvrsti seznam

Java seznam lahko raz­vr­sti­te z metodo .sort() iz razreda Col­lec­ti­ons. Seznam lahko preberete z zanko in elemente enega po enega natisnete na konzolo:

import java.util.*;
    class SortArrayList{
      public static void main(String args[]){
      // Creating a list of numbers
      List<Integer> numbers=new ArrayList<Integer>();
      numbers.add(4);
      numbers.add(57);
      numbers.add(92);
      numbers.add(26);
      // Sorting
      Collections.sort(numbers);
      for(Integer number: numbers)
        System.out.println(number);
      }
    }
Java

Številke v seznamu Java so prikazane na zaslonu od najmanjše do največje:

4
26
57
92
Java

95991e50aeda50c32cb3b3f2112a5943

d8a1591df4562b7b93743d4591732bef

39ff5b6d36ba97b3c26d6bb337ccf978

7a914977fa7ac542c991272624ac7d75

65a649e4e9ccca49bd60fda85186ab72

3d299b8ebd59f6e48b2cb0768cb120fd

Go to Main Menu