I den här handledningen lär vi oss om List-gränssnittet i Java och dess metoder.
I Java är List
gränssnittet en ordnad samling som gör att vi kan lagra och komma åt element i följd. Det utökar Collection
gränssnittet.
Klasser som implementerar listan
Eftersom det List
är ett gränssnitt kan vi inte skapa objekt från det.
För att använda funktionerna i List
gränssnittet kan vi använda dessa klasser:
- ArrayList
- Länkad lista
- Vektor
- Stack
Dessa klasser definieras i samlingsramen och implementerar List
gränssnittet.
Hur använder jag List?
I Java måste vi importera java.util.List
paketet för att kunna använda det List
.
// ArrayList implementation of List List list1 = new ArrayList(); // LinkedList implementation of List List list2 = new LinkedList();
Här har vi skapat objekt list1 och list2 över klasser ArrayList
och LinkedList
. Dessa objekt kan använda List
gränssnittets funktioner .
Metoder för listan
I List
gränssnitt innefattar alla metoder i Collection
gränssnittet. Dess därför Collection
är ett super gränssnitt för List
.
Några av de vanliga metoderna för Collection
gränssnittet som också finns i List
gränssnittet är:
add()
- lägger till ett element i en listaaddAll()
- lägger till alla element i en lista till en annanget()
- hjälper till att slumpmässigt komma åt element från listoriterator()
- returnerar iteratorobjekt som kan användas för att sekventiellt komma åt element i listorset()
- ändrar element i listorremove()
- tar bort ett element från listanremoveAll()
- tar bort alla element från listanclear()
- tar bort alla element från listan (effektivare änremoveAll()
)size()
- returnerar längden på listornatoArray()
- konverterar en lista till en matriscontains()
- returnerartrue
om en lista innehåller specificerat element
Implementering av listgränssnittet
1. Implementering av ArrayList-klassen
import java.util.List; import java.util.ArrayList; class Main ( public static void main(String() args) ( // Creating list using the ArrayList class List numbers = new ArrayList(); // Add elements to the list numbers.add(1); numbers.add(2); numbers.add(3); System.out.println("List: " + numbers); // Access element from the list int number = numbers.get(2); System.out.println("Accessed Element: " + number); // Remove element from the list int removedNumber = numbers.remove(1); System.out.println("Removed Element: " + removedNumber); ) )
Produktion
Lista: (1, 2, 3) Åtkomst till element: 3 Borttaget element: 2
För att lära dig mer om ArrayList
, besök Java ArrayList.
2. Implementering av LinkedList-klassen
import java.util.List; import java.util.LinkedList; class Main ( public static void main(String() args) ( // Creating list using the LinkedList class List numbers = new LinkedList(); // Add elements to the list numbers.add(1); numbers.add(2); numbers.add(3); System.out.println("List: " + numbers); // Access element from the list int number = numbers.get(2); System.out.println("Accessed Element: " + number); // Using the indexOf() method int index = numbers.indexOf(2); System.out.println("Position of 3 is " + index); // Remove element from the list int removedNumber = numbers.remove(1); System.out.println("Removed Element: " + removedNumber); ) )
Produktion
Lista: (1, 2, 3) Element som nås: 3 Position av 3 är 1 Borttaget element: 2
För att lära dig mer om LinkedList
, besök Java LinkedList.
Java Lista vs Set
Både List
gränssnittet och Set
gränssnittet ärver Collection
gränssnittet. Det finns dock en viss skillnad mellan dem.
- Listor kan innehålla dubbletter. Uppsättningar kan dock inte ha dubbla element.
- Element i listor lagras i viss ordning. Element i uppsättningar lagras dock i grupper som uppsättningar i matematik.
Nu när vi vet vad som List
är kommer vi att se dess implementeringar i ArrayList
och LinkedList
klasser i detalj i nästa handledning.