Mis on Java nimekiri?
Java nimekirjad sobivad eriti hästi olukordadesse, kus andmekogumi suurus ei ole algusest peale selge või kui suurus võib aja jooksul muutuda. Näitame teile konkreetseid näiteid Java nimekirjade kasutamise kohta ning toiminguid, mida nendega teha saab.
Milleks saab Java nimekirju kasutada?
Loendid on Java programmeerimise üks põhilisi andmestruktuure ja neid saab kasutada mitmel viisil. Need sisaldavad elemente, mis on järjestatud kindlas järjekorras. Loendisse saab lisada, muuta, kustutada või otsida elemente. Java loendid võivad sisaldada erinevatesse klassidesse kuuluvaid objekte. Samuti on võimalik salvestada dubleeritud elemente või null-elemente. Lisaks toetavad Java loendid geneerilisi klasse ja meetodeid, tagades tüübikindluse.
Loendeid saab kasutada andmebaasirakendustes. Siin kasutatakse neid andmebaasi päringutest saadud suurte andmekogumite salvestamiseks ja neile juurdepääsuks. Graafilistes kasutajaliidestes kasutatakse Java loendeid sageli elementide loendi kuvamiseks, näiteks rippmenüü valikute või veebipoe erinevate toodete puhul.
Java loendid on samuti asendamatud algoritmides ja andmestruktuurides. Neid kasutatakse sorteerimisalgoritmides, otsingualgoritmides ning virna- ja järjekorrastruktuurides. Võrgurakendustes võivad loendid aidata hõlbustada ühenduste ja pistikute haldamist.
Millised loendamise meetodid on Java-s olemas?
Java loendid kuuluvad Collection-liidesesse ja need tuleb importida paketist java.util. Java ArrayList, LinkedList, Vector ja Stack pakuvad mitmesuguseid rakendusklasse, mille hulgast saate valida. Loendite erinevaid instantsi saate deklareerida järgmise koodiga:
List linkedList = new LinkedList(); // LinkedList
List arrayList = new ArrayList(); // ArrayList
List vecList = new Vector(); // Vector
List stackList = new Stack(); //StackJavaSiin on mõned olulisemad meetodid, mida saate Java-nimekirjade jaoks kasutada:
int size(): Määrab loendi elementide arvuvoid add(int index, E element): Lisab elemendi kindlasse positsiooniboolean isEmpty(): Kontrollib, kas nimekiri on tühivoid clear(): Eemaldab kõik elemendid nimekirjastboolean contains(Object o): Tagastab väärtusetrue, kui objektoon nimekirjasboolean add(E e): Lisab elemendi nimekirja lõppuboolean remove(Object o): Eemaldab elemendi esimese esinemiseE get(int index): Asendab või lisab elemendi määratud indeksileE set(int index, E element): Asendab või lisab elemendi määratud indeksileObject[] toArray(): Tagastab massiivi, mis sisaldab nimekirja elementeList<E> subList(int fromIndex, int toIndex): Salvestab kõik elemendid määratud intervalli piiresdefault void replaceAll(UnaryOperator<E> operator): Java 8 standardmeetod, mis rakendab üheargumentilisi Java operaatoreid igale elemendile ja asendab seejärel iga elemendi operatsiooni tulemusega.
Kuidas kasutada Java nimekirju
Allpool tutvustame tavalisi meetodeid, mida kasutatakse Java-nimekirjadega töötamisel. Nende hulka kuuluvad massiivide teisendamine nimekirjadeks ja vastupidi, samuti elementide sorteerimine, otsimine ja muutmine.
Muuda massiiv nimekirjaks
Massiivi nimekirjaks teisendamiseks võite massiivi läbi käia silmuste abil ja lisada elemendid nimekirja ükshaaval meetodi add() abil.
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);
}
}JavaSelle tulemuseks on väljund:
Array: [blue, green, red, yellow]
List: [blue, green, red, yellow]JavaMuuda nimekiri massiiviks
Meetodiga toArray() saate teisendada loendi massiiviks:
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);
}
}JavaVäljundis näete, et massiivi ja loendi elemendid on identsed:
Array: [Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday]
List: [Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday]JavaJava nimekirja elementide kutsumine ja muutmine
Meetodiga get() saate juurdepääsu elemendile kindla indeksiga. Meetodiga set() saate asendada elemendi teise elemendiga nimekirja kindlas kohas.
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);
}
}JavaKuna Java-s algab loendamine indeksist 0, saame järgmise tulemuse:
Element at index 1: b
a
b
dJavaSorteeri nimekiri
Java nimekirja saab sorteerida, kasutades Collections-klassi .sort() meetodit. Nimekirja saab läbi käia silmuse abil ja trükkida elemendid ükshaaval konsooli:
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);
}
}JavaJava nimekirjas olevad numbrid kuvatakse ekraanil väikseimast suurima järgi:
4
26
57
92Java95991e50aeda50c32cb3b3f2112a5943
d8a1591df4562b7b93743d4591732bef
39ff5b6d36ba97b3c26d6bb337ccf978
7a914977fa7ac542c991272624ac7d75