Kas yra Java sąrašas?
Java sąrašai ypač tinka tais atvejais, kai duomenų rinkinio dydis nėra aiškus nuo pat pradžių arba jei tikimasi, kad jo dydis laikui bėgant keisis. Pateiksime konkrečius pavyzdžius, kaip naudoti Java sąrašus, taip pat operacijas, kurias su jais galima atlikti.
Kam gali būti naudojami Java sąrašai?
Sąrašai yra viena iš pagrindinių duomenų struktūrų Java programavime ir gali būti naudojami įvairiais būdais. Juose yra elementai, kurie išdėstyti tvarkinga seka. Sąraše galite pridėti, keisti, trinti ar ieškoti elementų. Java sąrašuose gali būti objektų, priklausančių skirtingoms klasėms. Taip pat galima saugoti pasikartojančius elementus ar nulinės vertės elementus. Be to, Java sąrašai palaiko bendrąsias klases ir metodus, užtikrinančius tipų saugumą.
Sąrašai gali būti naudojami duomenų bazių programose. Čia jie naudojami dideliems duomenų rinkiniams iš duomenų bazių užklausų saugoti ir prieiti prie jų. Grafinėse vartotojo sąsajose Java sąrašai dažnai naudojami elementų sąrašui rodyti, pavyzdžiui, išskleidžiamajame meniu esančioms parinktims arba įvairiems internetinės parduotuvės prekėms.
Java sąrašai taip pat yra nepakeičiami algoritmuose ir duomenų struktūrose. Jie naudojami rūšiavimo algoritmuose, paieškos algoritmuose ir stekų bei eilių struktūrose. Tinklo programose sąrašai gali palengvinti ryšių ir lizdų valdymą.
Kokius sąrašų metodus turi Java?
Java sąrašai priklauso Collection sąsajai ir turi būti importuojami iš java.util paketo. Naudojant Java ArrayList, LinkedList, Vector ir Stack, galite rinktis iš įvairių įgyvendinimo klasių. Galite deklaruoti skirtingus sąrašų egzempliorius naudodami šį kodą:
List linkedList = new LinkedList(); // LinkedList
List arrayList = new ArrayList(); // ArrayList
List vecList = new Vector(); // Vector
List stackList = new Stack(); //StackJavaČia pateikiami kai kurie svarbiausi metodai, kuriuos galite naudoti Java sąrašams:
int size(): Nustato elementų skaičių sąraševoid add(int index, E element): Prideda elementą tam tikroje pozicijojeboolean isEmpty(): Patikrina, ar sąrašas yra tuščiasvoid clear(): Pašalina visus elementus iš sąrašoboolean contains(Object o): Grąžina vertętrue, jei objektasoyra sąrašeboolean add(E e): Prideda elementą į sąrašo pabaigąboolean remove(Object o): Pašalina pirmąjį elemento pasikartojimąE get(int index): Pakeičia arba įterpia elementą nurodytu indeksuE set(int index, E element): Pakeičia arba įterpia elementą nurodytu indeksuObject[] toArray(): Grąžina masyvą, kuriame yra sąrašo elementaiList<E> subList(int fromIndex, int toIndex): Užfiksuoja visus elementus nurodytame intervaledefault void replaceAll(UnaryOperator<E> operator): Standartinis metodas Java 8, kuris taiko vienetinį Java operatorius kiekvienam elementui ir tada pakeičia kiekvieną elementą operacijos rezultatu.
Kaip naudoti Java sąrašus
Toliau pateiksime dažniausiai naudojamus metodus dirbant su Java sąrašais. Tai yra masyvų konvertavimas į sąrašus ir atvirkščiai, taip pat elementų rūšiavimas, paieška ir keitimas.
Paversti masyvą į sąrašą
Norėdami konvertuoti masyvą į sąrašą, galite kartoti masyvą naudodami ciklus ir po vieną pridėti elementus į sąrašą naudodami add() metodą.
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);
}
}JavaTai duoda tokį rezultatą:
Array: [blue, green, red, yellow]
List: [blue, green, red, yellow]JavaKonvertuoti sąrašą į masyvą
Naudodami metodą toArray() galite konvertuoti sąrašą į masyvą:
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);
}
}JavaIšvestyje matyti, kad masyvo ir sąrašo elementai yra identiški:
Array: [Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday]
List: [Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday]JavaSkambinkite ir keiskite elementus Java sąraše
Naudodami get() metodą, galite pasiekti elementą tam tikrame indekse. set() metodas leidžia pakeisti elementą kitu elementu tam tikroje sąrašo pozicijoje.
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);
}
}JavaKadangi skaičiavimas Java kalboje prasideda nuo indekso 0, gauname tokį rezultatą:
Element at index 1: b
a
b
dJavaRūšiuoti sąrašą
Java sąrašą galite rūšiuoti naudodami .sort() metodą iš Collections klasės. Sąrašą galite kartoti naudodami kilpą ir elementus spausdinti į konsolę po vieną:
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 sąraše esantys skaičiai ekrane rodomi nuo mažiausio iki didžiausio:
4
26
57
92Java95991e50aeda50c32cb3b3f2112a5943
d8a1591df4562b7b93743d4591732bef
39ff5b6d36ba97b3c26d6bb337ccf978
7a914977fa7ac542c991272624ac7d75
801469d6a4728324c120e13355e0e1eb