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
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