Java saraksti ir īpaši piemēroti ga­dī­ju­miem, kad datu kopas lielums nav skaidrs jau sākumā vai ja paredzams, ka lielums laika gaitā mainīsies. Mēs parādīsim konkrētus piemērus, kā izmantot Java sarakstus, kā arī darbības, ko ar tiem var veikt.

Kādiem mērķiem var izmantot Java sarakstus?

Saraksti ir viena no pamata datu struk­tū­rām Java prog­ram­mē­ša­nā, un tos var izmantot dažādos veidos. Tie satur elementus, kas ir sakārtoti secīgā secībā. Sarakstā var pievienot, mainīt, dzēst vai meklēt elementus. Java saraksti var saturēt objektus, kas pieder dažādām klasēm. Ir iespējams arī saglabāt dub­li­kā­tus elementus vai null elementus. Turklāt Java saraksti atbalsta vis­pā­rī­gas klases un metodes, no­dro­ši­not tipa drošību.

Sarakstus var izmantot datu bāzes lie­to­jum­prog­ram­mās. Šeit tie tiek izmantoti, lai uzglabātu un piekļūtu lieliem datu kopumiem no datu bāzes vai­cā­ju­miem. Gra­fis­ka­jās lietotāja saskarnēs Java saraksti bieži tiek izmantoti, lai parādītu elementu sarakstu, piemēram, izvēles iespējas no­lai­ža­ma­jā izvēlnē vai dažādus priekš­me­tus tiešsais­tes veikalā.

Java saraksti ir ne­aiz­stā­ja­mi arī al­go­rit­mos un datu struk­tū­rās. Tos izmanto šķi­ro­ša­nas al­go­rit­mos, mek­lē­ša­nas al­go­rit­mos un skriptu un rindu struk­tū­rās. Tīkla lie­to­jum­prog­ram­mās saraksti var palīdzēt atvieglot sa­vie­no­ju­mu un ligzdu pār­val­dī­bu.

Kādas saraksta metodes ir Java?

Java saraksti pieder Col­lec­tion in­ter­fei­sam un ir jāimportē no paketes java.util. Ar Java ArrayList, Linked­List, Vector un Stack ir dažādas īs­te­no­ša­nas klases, no kurām var iz­vē­lē­ties. Sarakstu dažādās instancēs var deklarēt ar šādu kodu:

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

Šeit ir daži no sva­rī­gā­ka­jiem pa­ņē­mie­niem, ko var izmantot Java sarakstos:

  1. int size(): Nosaka elementu skaitu sarakstā
  2. void add(int index, E element): Pievieno elementu konkrētā pozīcijā
  3. boolean isEmpty(): Pārbauda, vai saraksts ir tukšs
  4. void clear(): No saraksta izdzēš visus elementus
  5. boolean contains(Object o): Atgriež vērtību true, ja objekts o ir sarakstā
  6. boolean add(E e): Pievieno elementu saraksta beigās
  7. boolean remove(Object o): Noņem elementa pirmo pa­rā­dī­ša­nos
  8. E get(int index): Aizstāj vai ievieto elementu no­rā­dī­ta­jā indeksā
  9. E set(int index, E element): Aizstāj vai ievieto elementu no­rā­dī­ta­jā indeksā
  10. Object[] toArray(): Atgriež masīvu, kas satur elementus no saraksta
  11. List<E> subList(int fromIndex, int toIndex): Uztver visus elementus no­rā­dī­ta­jā intervālā
  12. default void replaceAll(UnaryOperator<E> operator): Standarta metode Java 8, kas piemēro vien­vie­tī­gos Java ope­ra­to­rus katram elementam un pēc tam aizstāj katru elementu ar ope­rā­ci­jas rezultātu.

Kā lietot Java sarakstus

Tālāk mēs parādīsim visbiežāk iz­man­to­tās metodes, strādājot ar Java sa­rak­stiem. Tās ietver masīvu pār­vei­do­ša­nu sarakstos un otrādi, kā arī elementu šķirošanu, izgūšanu un mo­di­fi­cē­ša­nu.

Pārvērst masīvu sarakstā

Lai pārvērstu masīvu sarakstā, varat iziet cauri masīvam, iz­man­to­jot cilpas, un pievienot elementus sarakstam vienu pēc otra, iz­man­to­jot metodi 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

Rezultāts ir šāds:

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

Kon­ver­tē­jiet sarakstu masīvā

Iz­man­to­jot metodi toArray(), varat konvertēt sarakstu masīvā:

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

Rezultātā var redzēt, ka masīva un saraksta elementi ir identiski:

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

Sauc un maini elementus Java sarakstā

Iz­man­to­jot get() metodi, varat piekļūt elementam ar konkrētu indeksu. set() metode ļauj aizstāt elementu ar citu elementu noteiktā pozīcijā sarakstā.

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

Tā kā skai­tī­ša­na Java sākas ar indeksu 0, mēs iegūstam šādu rezultātu:

Element at index 1: b
a
b
d
Java

Kārtot sarakstu

Jūs varat šķirot Java sarakstu, iz­man­to­jot .sort() metodi no Col­lec­tions klases. Jūs varat iziet cauri sarakstam, iz­man­to­jot cilpu, un izdrukāt elementus uz konsoles vienu pēc otra:

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

Java sarakstā esošie skaitļi tiek parādīti ekrānā no mazākā līdz lie­lā­ka­jam:

4
26
57
92
Java

95991e50aeda50c32cb3b3f2112a5943

d8a1591df4562b7b93743d4591732bef

39ff5b6d36ba97b3c26d6bb337ccf978

7a914977fa7ac542c991272624ac7d75

22f61984f8761421a89d3b44e82449a7

Go to Main Menu