Hva er en Java-liste?
Java-lister er spesielt egnet for scenarier hvor størrelsen på et datasett ikke er klart fra starten av, eller hvis størrelsen forventes å endre seg over tid. Vi viser deg konkrete eksempler på hvordan du bruker Java-lister, samt operasjonene du kan utføre med dem.
Hva kan Java-lister brukes til?
Lister er en av de grunnleggende datastrukturene i Java-programmering og kan brukes på mange forskjellige måter. De inneholder elementer som er ordnet i en bestemt rekkefølge. Du kan legge til, endre, slette eller søke etter elementer i en liste. Java-lister kan inneholde objekter som tilhører forskjellige klasser. Det er også mulig å lagre dupliserte elementer eller null-elementer. I tillegg støtter Java-lister generiske klasser og metoder, noe som sikrer typesikkerhet.
Lister kan brukes til databaseapplikasjoner. Her brukes de til å lagre og få tilgang til store datasett fra databasesøk. I grafiske brukergrensesnitt brukes Java-lister ofte til å vise en liste over elementer, for eksempel alternativer i en rullegardinmeny eller ulike varer i en nettbutikk.
Java-lister er også uunnværlige i algoritmer og datastrukturer. De brukes i sorteringsalgoritmer, søkealgoritmer og stakk- og køstrukturer. I nettverksapplikasjoner kan lister bidra til å forenkle administrasjonen av tilkoblinger og sokler.
Hvilke listemetoder har Java?
Java-lister tilhører Collection-grensesnittet og må importeres fra pakken java.util. Med Java ArrayList, LinkedList, Vector og Stack finnes det ulike implementeringsklasser du kan velge mellom. Du kan deklarere de ulike instansene av listene med følgende kode:
List linkedList = new LinkedList(); // LinkedList
List arrayList = new ArrayList(); // ArrayList
List vecList = new Vector(); // Vector
List stackList = new Stack(); //StackJavaHer er noen av de viktigste metodene du kan bruke for Java-lister:
int size(): Bestemmer antall elementer i en listevoid add(int index, E element): Legger til et element på en bestemt posisjonboolean isEmpty(): Sjekker om en liste er tomvoid clear(): Fjerner alle elementer fra en listeboolean contains(Object o): Returnerer verdientruehvis objektetoer i listenboolean add(E e): Legger til et element på slutten av en listeboolean remove(Object o): Fjerner det første forekomsten av et elementE get(int index): Erstatt eller sett inn et element på en spesifisert indeksE set(int index, E element): Erstatt eller sett inn et element ved en spesifisert indeksObject[] toArray(): Returnerer en matrise som inneholder elementene fra en listeList<E> subList(int fromIndex, int toIndex): Fanger opp alle elementene innenfor det angitte intervalletdefault void replaceAll(UnaryOperator<E> operator): Standardmetode i Java 8 som bruker unaire Java-operatorer på hvert element og deretter erstatter hvert element med resultatet fra operasjonen.
Hvordan bruke Java-lister
Nedenfor viser vi vanlige metoder som brukes når man arbeider med Java-lister. Disse inkluderer konvertering av matriser til lister og omvendt, samt sortering, henting og endring av elementer.
Konverter en matrise til en liste
For å konvertere en matrise til en liste kan du iterere gjennom matrisen ved hjelp av løkker og legge elementene til listen ett etter ett ved hjelp av metoden 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);
}
}JavaDette gir følgende utdata:
Array: [blue, green, red, yellow]
List: [blue, green, red, yellow]JavaKonverter en liste til en matrise
Med metoden toArray() kan du konvertere en liste til en matrise:
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 utdataene kan du se at elementene i matrisen og listen er identiske:
Array: [Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday]
List: [Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday]JavaRing og endre elementer i en Java-liste
Med metoden get() kan du få tilgang til et element ved en bestemt indeks. Metoden set() lar deg erstatte et element med et annet element på en spesifisert posisjon i listen.
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);
}
}JavaSiden telling i Java starter med indeksen 0, får vi følgende resultat:
Element at index 1: b
a
b
dJavaSorter en liste
Du kan sortere en Java-liste ved hjelp av metoden .sort() fra klassen Collections. Du kan gå gjennom listen ved hjelp av en løkke og skrive ut elementene til konsollen ett etter ett:
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);
}
}JavaTallene i Java-listen vises på skjermen fra minste til største:
4
26
57
92Java95991e50aeda50c32cb3b3f2112a5943
d8a1591df4562b7b93743d4591732bef
39ff5b6d36ba97b3c26d6bb337ccf978
7a914977fa7ac542c991272624ac7d75
65a649e4e9ccca49bd60fda85186ab72