logo

Java lista

Lista i Java ger möjlighet att underhålla beställd samling . Den innehåller de indexbaserade metoderna för att infoga, uppdatera, ta bort och söka i elementen. Den kan också ha dubblettelementen. Vi kan också lagra null-elementen i listan.

Listgränssnittet finns ijava.utilpaketerar och ärver samlingsgränssnittet. Det är en fabrik av ListIterator-gränssnitt. Genom ListIterator kan vi iterera listan i riktningar framåt och bakåt. Implementeringsklasserna för List-gränssnittet ärArrayList,Länkad lista, Stack och Vector. ArrayList och LinkedList används ofta i Java-programmering. Klassen Vector är utfasad sedan Java 5.

Listgränssnittsdeklaration

 public interface List extends Collection 

Java listmetoder

Metod Beskrivning
void add(int index, E-element) Den används för att infoga det specificerade elementet på den angivna positionen i en lista.
boolesk add(E e) Den används för att lägga till det angivna elementet i slutet av en lista.
boolean addAll(Collection c) Den används för att lägga till alla element i den angivna samlingen i slutet av en lista.
boolesk addAll(int index, samling c) Den används för att lägga till alla element i den angivna samlingen, med början på den angivna positionen i listan.
void clear() Den används för att ta bort alla element från den här listan.
boolesk lika med(Objekt o) Den används för att jämföra det angivna objektet med elementen i en lista.
int hashcode() Den används för att returnera hashkodvärdet för en lista.
E get(int index) Den används för att hämta elementet från den specifika positionen i listan.
boolean isEmpty() Den returnerar sant om listan är tom, annars falskt.
int lastIndexOf(Objekt o) Den används för att returnera indexet i den här listan för den senaste förekomsten av det angivna elementet, eller -1 om listan inte innehåller detta element.
Objekt[] tillArray() Den används för att returnera en array som innehåller alla elementen i denna lista i rätt ordning.
T[] tillArray(T[] a) Den används för att returnera en array som innehåller alla elementen i denna lista i rätt ordning.
booleskt innehåller(Objekt o) Den returnerar sant om listan innehåller det angivna elementet
boolean containsAll(Collection c) Den returnerar sant om listan innehåller alla de angivna elementen
int indexOf(Objekt o) Den används för att returnera indexet i denna lista för den första förekomsten av det angivna elementet, eller -1 om listan inte innehåller detta element.
E remove(int index) Den används för att ta bort elementet som finns på den angivna positionen i listan.
boolean remove(Object o) Den används för att ta bort den första förekomsten av det angivna elementet.
boolean removeAll(Collection c) Den används för att ta bort alla element från listan.
void replaceAll(UnaryOperator-operatör) Den används för att ersätta alla element från listan med det angivna elementet.
void retainAll(Samling c) Den används för att behålla alla element i listan som finns i den angivna samlingen.
E set(int index, E element) Den används för att ersätta det angivna elementet i listan, som finns på den angivna positionen.
void sort(Comparator c) Den används för att sortera elementen i listan på basis av specificerad komparator.
Spliterator spliterator() Den används för att skapa spliterator över elementen i en lista.
List subList(int fromIndex, int toIndex) Den används för att hämta alla element som ligger inom det givna intervallet.
int storlek() Den används för att returnera antalet element som finns i listan.

Java List vs ArrayList

List är ett gränssnitt medan ArrayList är implementeringsklassen för List.

Hur man skapar en lista

Klasserna ArrayList och LinkedList tillhandahåller implementeringen av List-gränssnittet. Låt oss se exemplen för att skapa listan:

 //Creating a List of type String using ArrayList List list=new ArrayList(); //Creating a List of type Integer using ArrayList List list=new ArrayList(); //Creating a List of type Book using ArrayList List list=new ArrayList(); //Creating a List of type String using LinkedList List list=new LinkedList(); 

Kort sagt, du kan skapa listan av vilken typ som helst. Klasserna ArrayList och LinkedList används för att specificera typen. Här betecknar T typen.

Java List Exempel

Låt oss se ett enkelt exempel på List där vi använder ArrayList-klassen som implementering.

 import java.util.*; public class ListExample1{ public static void main(String args[]){ //Creating a List List list=new ArrayList(); //Adding elements in the List list.add('Mango'); list.add('Apple'); list.add('Banana'); list.add('Grapes'); //Iterating the List element using for-each loop for(String fruit:list) System.out.println(fruit); } } 
Testa det nu

Produktion:

 Mango Apple Banana Grapes 

Hur man konverterar Array till List

Vi kan konvertera Arrayen till List genom att korsa arrayen och lägga till elementet i listan en efter en med metoden list.add(). Låt oss se ett enkelt exempel för att konvertera arrayelement till List.

 import java.util.*; public class ArrayToListExample{ public static void main(String args[]){ //Creating Array String[] array={'Java','Python','PHP','C++'}; System.out.println('Printing Array: '+Arrays.toString(array)); //Converting Array to List List list=new ArrayList(); for(String lang:array){ list.add(lang); } System.out.println('Printing List: '+list); } } 
Testa det nu

Produktion:

 Printing Array: [Java, Python, PHP, C++] Printing List: [Java, Python, PHP, C++] 

Hur man konverterar List till Array

Vi kan konvertera listan till Array genom att anropa metoden list.toArray(). Låt oss se ett enkelt exempel för att konvertera listelement till array.

skillnaden mellan program och script
 import java.util.*; public class ListToArrayExample{ public static void main(String args[]){ List fruitList = new ArrayList(); fruitList.add('Mango'); fruitList.add('Banana'); fruitList.add('Apple'); fruitList.add('Strawberry'); //Converting ArrayList to Array String[] array = fruitList.toArray(new String[fruitList.size()]); System.out.println('Printing Array: '+Arrays.toString(array)); System.out.println('Printing List: '+fruitList); } } 
Testa det nu

Produktion:

 Printing Array: [Mango, Banana, Apple, Strawberry] Printing List: [Mango, Banana, Apple, Strawberry] 

Hämta och ställ in element i listan

De get() metoden returnerar elementet vid det givna indexet, medan set() metod ändrar eller ersätter elementet.

 import java.util.*; public class ListExample2{ public static void main(String args[]){ //Creating a List List list=new ArrayList(); //Adding elements in the List list.add('Mango'); list.add('Apple'); list.add('Banana'); list.add('Grapes'); //accessing the element System.out.println('Returning element: '+list.get(1));//it will return the 2nd element, because index starts from 0 //changing the element list.set(1,'Dates'); //Iterating the List element using for-each loop for(String fruit:list) System.out.println(fruit); } } 
Testa det nu

Produktion:

 Returning element: Apple Mango Dates Banana Grapes 

Hur man sorterar listan

Det finns olika sätt att sortera listan, här kommer vi att använda metoden Collections.sort() för att sortera listelementet. De java.util paketet tillhandahåller en verktygsklass Samlingar som har den statiska metoden sort(). Använda Collections.sort() metod kan vi enkelt sortera vilken lista som helst.

 import java.util.*; class SortArrayList{ public static void main(String args[]){ //Creating a list of fruits List list1=new ArrayList(); list1.add('Mango'); list1.add('Apple'); list1.add('Banana'); list1.add('Grapes'); //Sorting the list Collections.sort(list1); //Traversing list through the for-each loop for(String fruit:list1) System.out.println(fruit); System.out.println('Sorting numbers...'); //Creating a list of numbers List list2=new ArrayList(); list2.add(21); list2.add(11); list2.add(51); list2.add(1); //Sorting the list Collections.sort(list2); //Traversing list through the for-each loop for(Integer number:list2) System.out.println(number); } } 

Produktion:

 Apple Banana Grapes Mango Sorting numbers... 1 11 21 51 

Java ListIterator-gränssnitt

ListIterator Interface används för att korsa elementet i en riktning bakåt och framåt.

ListIterator Interface deklaration

 public interface ListIterator extends Iterator 

Metoder för Java ListIterator-gränssnitt:

Metod Beskrivning
void add(E e) Denna metod infogar det angivna elementet i listan.
boolean hasNext() Den här metoden returnerar sant om listiteratorn har fler element medan den korsar listan i riktning framåt.
E nästa() Denna metod returnerar nästa element i listan och flyttar fram markörens position.
int nextIndex() Denna metod returnerar indexet för elementet som skulle returneras av ett efterföljande anrop till next()
boolean hasPrevious() Denna metod returnerar sant om den här listiteratorn har fler element samtidigt som den korsar listan i motsatt riktning.
E föregående() Denna metod returnerar föregående element i listan och flyttar markörpositionen bakåt.
E previousIndex() Denna metod returnerar indexet för elementet som skulle returneras av ett efterföljande anrop till previous().
void remove() Den här metoden tar bort det sista elementet från listan som returnerades av metoderna next() eller previous().
void set (E e) Denna metod ersätter det sista elementet som returneras av metoderna next() eller previous() med det angivna elementet.

Exempel på ListIterator-gränssnitt

 import java.util.*; public class ListIteratorExample1{ public static void main(String args[]){ List al=new ArrayList(); al.add('Amit'); al.add('Vijay'); al.add('Kumar'); al.add(1,'Sachin'); ListIterator itr=al.listIterator(); System.out.println('Traversing elements in forward direction'); while(itr.hasNext()){ System.out.println('index:'+itr.nextIndex()+' value:'+itr.next()); } System.out.println('Traversing elements in backward direction'); while(itr.hasPrevious()){ System.out.println('index:'+itr.previousIndex()+' value:'+itr.previous()); } } } 

Produktion:

 Traversing elements in forward direction index:0 value:Amit index:1 value:Sachin index:2 value:Vijay index:3 value:Kumar Traversing elements in backward direction index:3 value:Kumar index:2 value:Vijay index:1 value:Sachin index:0 value:Amit 

Exempel på lista: Bok

Låt oss se ett exempel på List där vi lägger till böckerna.

 import java.util.*; class Book { int id; String name,author,publisher; int quantity; public Book(int id, String name, String author, String publisher, int quantity) { this.id = id; this.name = name; this.author = author; this.publisher = publisher; this.quantity = quantity; } } public class ListExample5 { public static void main(String[] args) { //Creating list of Books List list=new ArrayList(); //Creating Books Book b1=new Book(101,'Let us C','Yashwant Kanetkar','BPB',8); Book b2=new Book(102,'Data Communications and Networking','Forouzan','Mc Graw Hill',4); Book b3=new Book(103,'Operating System','Galvin','Wiley',6); //Adding Books to list list.add(b1); list.add(b2); list.add(b3); //Traversing list for(Book b:list){ System.out.println(b.id+' '+b.name+' '+b.author+' '+b.publisher+' '+b.quantity); } } } 
Testa det nu

Produktion:

 101 Let us C Yashwant Kanetkar BPB 8 102 Data Communications and Networking Forouzan Mc Graw Hill 4 103 Operating System Galvin Wiley 6 

Relaterade ämnen

ArrayList i Java

LinkedList i Java

Skillnaden mellan ArrayList och LinkedList

vilken samling i java

Skillnaden mellan Array och ArrayList

När ska man använda ArrayList och LinkedList i Java

Skillnaden mellan ArrayList och Vector

1 av 1000,00

Hur man jämför Two ArrayList i Java

Hur man vänder ArrayList i Java

När ska man använda ArrayList och LinkedList i Java

Hur man gör ArrayList skrivskyddad

Skillnaden mellan längden på arrayen och size() på ArrayList i Java

Hur man synkroniserar ArrayList i Java

Hur man konverterar ArrayList till Array och Array till ArrayList i java

Array vs ArrayList i Java

Hur man sorterar Java ArrayList i fallande ordning

Hur man tar bort dubbletter från ArrayList i Java