java list methods sort list
Denna handledning förklarar olika Java-listmetoder som Sorteringslista, List Innehåller, Lista Lägg till, Lista bort, Liststorlek, Lägg till Alla, Ta bort Alla, Omvänd lista & mer:
Vi har redan diskuterat listgränssnittet i allmänhet i vår tidigare handledning. Listgränssnittet har olika metoder som används för att manipulera listans innehåll. Med hjälp av dessa metoder kan du infoga / ta bort, sortera och söka element i listan.
I denna handledning kommer vi att diskutera alla metoder som tillhandahålls av listgränssnittet.
=> Kolla här för att se A-Z av Java-utbildningar här.
För att iterera genom listan använder listgränssnittet listan iterator. Denna lista iterator sträcker sig från iterator-gränssnittet. I vår nästa handledning kommer vi att utforska mer om listens iterator.
Vad du kommer att lära dig:
- Listmetoder i Java
- Ta bort dubbletter från en lista i Java
- Vanliga frågor
- Slutsats
- Rekommenderad läsning
Listmetoder i Java
Följande tabell visar olika funktioner som tillhandahålls av listgränssnittet i Java.
Listmetod | Metodprototyp | Beskrivning |
---|---|---|
innehåller | boolean innehåller (Objekt o) | Kontrollerar om det angivna elementet finns i listan och returnerar true om det finns |
storlek | int storlek () | Returnerar storleken på listan, dvs. antalet element i listan eller listans längd. |
klar | ogiltig rensa () | Rensar listan genom att ta bort alla element i listan |
Lägg till | void add (int index, Object element) | Lägger till det angivna elementet i listan i det angivna indexet |
boolean add (Object o) | Lägger till det givna elementet i slutet av listan | |
Lägg till alla | booleska addAll (samling c) | Lägger till hela den givna samlingen till slutet av listan |
boolean addAll (int index, Collection c) | Infogar den givna samlingen (alla element) i listan vid det angivna indexet | |
innehållerAll | boolean containAll (Collection c) | Kontrollerar om den angivna samlingen (alla element) ingår i listan. Återkommer sant av ja. |
är lika med | booleska lika (Objekt o) | Jämför det angivna objektet för jämställdhet med element i listan |
Skaffa sig | Objekt få (int index) | Returnerar elementet i listan som anges av index |
hash-kod | int hashCode () | Returnerar hashkodvärdet för listan. |
indexOf ' | int indexOf (Objekt o) | Hitta den första förekomsten av inmatningselementet och returnerar dess index |
är tom | boolean isEmpty () | Kontrollerar om listan är tom |
lastIndexOf | int lastIndexOf (Object o) | Hitta den sista förekomsten av inmatningselementet i listan och returnerar dess index |
ta bort | Object remove (int index) | Tar bort elementet vid angivet index |
boolean ta bort (Objekt o) | Tar bort elementet vid sin första förekomst i listan | |
ta bort alla | boolean removeAll (samling c) | Tar bort alla element i den angivna samlingen från listan |
behålla allt | boolean retainAll (Collection c) | Mittemot removeAll. Behåller det element som anges i ingångssamlingen i listan. |
Uppsättning | Objektuppsättning (int-index, Objektelement) | Ändrar elementet vid det angivna indexet genom att ställa in det till det angivna värdet |
underlista | Lista sublista (int fromIndex, int toIndex) | Returnerar underlista med element mellan fromIndex (inklusive) och toIndex (exklusiv). |
sortera | void sort (Comparator c) | Sorterar listelementet enligt den angivna komparatorn för att ge en beställd lista |
toArray | Objekt () toArray () | Returnerar arrayrepresentation av listan |
Objekt () toArray (Objekt () a) | Returnerar arrayrepresentationen vars runtime-typ är densamma som ett angivet arrayargument | |
iterator | Iterator iterator () | Returnerar en Iterator för listan |
listIterator | ListIterator listIterator () | Returnerar en ListIterator för listan |
ListIterator listIterator (int index) | Returnerar en ListIterator som börjar vid det angivna indexet i listan |
Därefter kommer vi att diskutera dessa funktioner tillsammans med deras exempel.
storlek
Prototyp: int storlek ()
Parametrar: NOLL
Returvärde: int => Antal element i listan eller med andra ord listans längd.
Beskrivning: Storleken () returnerar antalet element eller listans storlek. Det kan också kallas längd i enkla termer.
klar
Prototyp: ogiltig rensa ()
Parametrar: NOLL
Returvärde: Inget returvärde
Beskrivning: Rensar listan genom att ta bort alla element i listan. Kastar ”UnSupportedException” om åtgärden inte stöds av listan.
Nedanstående exempel visar storlek () och tydlig () metod.
import java.util.*; public class Main { public static void main(String() args) { List strList = new ArrayList(); // Creating a list //add items to list strList.add('Java'); strList.add('C++'); //print the size of list System.out.println('Size of list:' + strList.size()); //add more items to list strList.add('Ruby'); strList.add('Python'); strList.add('C#'); //print the size of list again System.out.println('Size of list after adding more elements:' + strList.size()); //clear method strList.clear(); System.out.println('List after calling clear() method:' + strList); } }
Produktion:
Lägg till
Prototyp: void add (int index, Object element)
Parametrar: index - en position där elementet ska läggas till.
Element - det element som ska läggas till
Returvärde: tomhet
Beskrivning: Lägger till det angivna elementet i listan i det angivna indexet. De efterföljande elementen flyttas till höger.
Följande undantag kastas:
IndexOutOfBoundsException: Listindex är utanför intervallet
Ej stöddOperationException: Lägg till åtgärd stöds inte av listan.
ClassCastException: Elementet kan inte läggas till i listan på grund av klassen av angivna element.
IllegalArgumentException: Angivet element eller någon aspekt är inte korrekt.
Lägg till
Prototyp: boolean add (Object o)
Parametrar: o => Element som ska läggas till i listan
Returvärde: true => Element har lagts till
Falsk => Lägg till misslyckades
Beskrivning: Denna metod lägger till det givna elementet i slutet av listan.
Den här åtgärden kan ge följande undantag.
Ej stöddOperationException: Lägg till åtgärd som inte stöds av denna lista.
ClassCastException: Det angivna elementet kan inte läggas till på grund av dess klass
IllegalArgumentException: Angivet element eller någon aspekt är inte korrekt.
Lägg till alla
Prototyp: booleska addAll (samling c)
Parametrar: c => Samling vars element ska läggas till i listan
Returvärde: true => Metodkörning lyckades
Beskrivning: Metoden addAll tar alla element från samling c och lägger till dem i slutet av listan genom att behålla den ordning som sattes.
Denna metod visar ospecificerat beteende om samlingen ändras när operationen pågår.
Metoden ger följande undantag:
Ej stöddOperationException: Lägg till åtgärd som inte stöds av denna lista.
ClassCastException: Det angivna elementet kan inte läggas till på grund av dess klass.
IllegalArgumentException: Angivet element eller någon aspekt är inte korrekt.
Lägg till alla
Prototyp: boolean addAll (int index, Collection c)
Parametrar: index => Position där samlingen ska infogas.
C => Samling som ska infogas i listan.
Returvärde: true => Om samlingselement har lagts till i listan.
Beskrivning: Metoden addAll infogar alla element i den angivna samlingen i listan i det angivna indexet. De efterföljande elementen flyttas sedan åt höger. Som i fallet med den tidigare överbelastningen av addAll är beteendet ospecificerat om samlingen ändras när operationen pågår.
Undantagen från denna metod är:
Ej stöddOperationException: Lägg till åtgärd som inte stöds av denna lista.
ClassCastException: Det angivna elementet kan inte läggas till på grund av dess klass.
IllegalArgumentException: Angivet element eller någon aspekt är inte korrekt.
IndexOutOfBoundsException: Indexera utom räckhåll.
Programmet nedan visar demonstrationen av add and addAlla metoder i listan.
import java.util.*; public class Main { public static void main(String() args) { List strList = new ArrayList(); // Creating a list strList.add('Java'); strList.add('C++'); //print the list System.out.println('List after adding two elements:' + strList); List llist = new ArrayList(); // Create another list llist.add('Ruby'); llist.add('Python'); llist.add('C#'); // addAll method - add llist to strList strList.addAll(llist); System.out.println('List after addAll:'+ strList); } }
Produktion:
innehåller
Prototyp: boolean innehåller (Objekt o)
Parametrar: o => Element som ska sökas i listan.
Returvärde: true => Om listan innehåller det angivna elementet.
Beskrivning: Metoden ”innehåller” kontrollerar om det angivna elementet finns i listan och returnerar ett booleskt värde sant om elementet är närvarande. Annars returnerar den falskt.
innehållerAll
Prototyp: boolean containAll (Collection c)
Parametrar: c => Samling som ska sökas i listan.
Returvärde: true => Om alla element i den angivna samlingen finns i listan.
Beskrivning: Metoden 'containAll' kontrollerar om alla element som finns i den angivna samlingen finns i listan. Om den är närvarande returnerar den ett sant värde och falskt annars.
Följande Java-program visar användningen av 'innehåller' och 'innehåller alla' metoder i listan.
import java.util.*; public class Main { public static void main(String() args) { //define list of strings List list = new ArrayList(); //initialize list to strings list.add('Java'); list.add('Xml'); list.add('Python'); list.add('Ruby'); list.add('JavaScript'); //contains method demo if(list.contains('C')==true) System.out.println('Given list contains string 'C''); else if(list.contains('Java')==true) System.out.println('Given list contains string 'Java' but not string 'C''); //containsAll method demo List myList = new ArrayList(); myList.add('Ruby'); myList.add('Python'); if(list.containsAll(myList)==true) System.out.println('List contains strings 'Ruby' and 'Python''); } }
Produktion:
Angiven lista innehåller sträng 'Java' men inte sträng 'C'
Listan innehåller strängar 'Ruby' och 'Python'
är lika med
Prototyp: booleska lika (Objekt o)
Parametrar: o => Objektet som ska testas för jämlikhet.
Returvärde: true => Om det givna objektet är lika med listan.
Beskrivning: Denna metod används för att jämföra det givna objektet med listan över jämställdhet. Om det angivna objektet är en lista returnerar metoden true. Båda listorna sägs vara lika om och bara om de är av samma storlek, och motsvarande element i de två listorna är lika och i samma ordning.
En demonstration av likhetsmetoden ges nedan:
tjärkommando i unix med exempel
import java.util.LinkedList; import java.util.List; public class Main { public static void main(String() args) { //define lists List first_list= new LinkedList(); List second_list = new LinkedList(); List third_list = new LinkedList(); //initialize lists with values for (int i=0;i<11;i++){ first_list.add(i); second_list.add(i); third_list.add(i*i); } //print each list System.out.println('First list: ' + first_list); System.out.println('Second list: ' + second_list); System.out.println('Third list: ' + third_list); //use equals method to check equality with each list to other if (first_list.equals(second_list) == true) System.out.println('
first_list and second_list are equal.
'); else System.out.println('first_list and second_list are not equal.
'); if(first_list.equals(third_list)) System.out.println('first_list and third_list are equal.
'); else System.out.println('first_list and third_list are not equal.
'); if(second_list.equals(third_list)) System.out.println('second_list and third_list are equal.
'); else System.out.println('second_list and third_list are not equal.
'); } }
Produktion:
Skaffa sig
Prototyp: Objekt få (int index)
Parametrar: index => Position där elementet ska returneras.
Returvärde: objekt => Element vid den angivna positionen.
Beskrivning: Metoden get () returnerar elementet vid den angivna positionen.
Denna metod kastar 'indexOutOfBoundsException' om det angivna indexet ligger utanför listans intervall.
Uppsättning
Prototyp: Objektuppsättning (int-index, Objektelement)
Parametrar: index => Position där det nya elementet ska ställas in.
element => Nytt element som ska placeras på den position som anges av index.
Returvärde: Objekt => Element som ersattes
Beskrivning: Metoduppsättningen () ersätter elementet vid det angivna indexet med ett annat värde som ges av elementet.
Metoden kan kasta följande undantag:
Ej stöddOperationException: Set-funktionen stöds inte av listan.
ClassCastException: Funktionen kan inte utföras på grund av elementets klass
IllegalArgumentException: Argument eller någon aspekt av det är olagligt
IndexOutOfBoundsException: Indexera utom räckhåll.
Följande program visar ett exempel på get () och set () -metoden.
import java.util.*; public class Main { public static void main(String() args) { //define list List listA = new ArrayList(); listA.add('Java'); listA.add('C++'); listA.add('Python'); //access list elements using index with get () method System.out.println('Element at index 0:' + listA.get(0)); System.out.println('Element at index 1:' + listA.get(1)); System.out.println('Element at index 2:' + listA.get(2)); //set element at index 1 to Ruby listA.set(1,'Ruby'); System.out.println('Element at index 1 changed to :' + listA.get(1) ); } }
Produktion:
hash-kod
Prototyp: int hashCode ()
Parametrar: NOLL
Returvärde: int => hashKod för listan
Beskrivning: Metoden 'hashCode ()' returnerar hashCode för listan som är ett heltal.
Exempel:
import java.util.*; public class Main { public static void main(String() args) { // Initializing a list of type Linkedlist List mylist = new LinkedList(); mylist.add(1); mylist.add(3); mylist.add(5); mylist.add(7); //print the list System.out.println('The list:' + mylist); //use hashCode() method to find hashcode of list int hash = mylist.hashCode(); System.out.println('Hashcode for list:' + hash); } }
Produktion:
är tom
Prototyp: boolean isEmpty ()
Parametrar: NOLL
Returvärde: true => Listan är tom
Beskrivning: Metoden 'isEmpty ()' kontrollerar om listan är tom. Metoden IsEmpty används för att kontrollera om listan innehåller några element innan du börjar bearbeta dessa element.
index för
Prototyp: int indexOf (Objekt o)
Parametrar: o => element att söka efter i listan
Returvärde: int => index eller position för den första förekomsten av det angivna elementet i listan. Returnerar -1 om elementet inte finns.
Beskrivning: Metoden 'indexOf ()' returnerar index för den första förekomsten av det givna elementet o i listan. Om elementet inte hittas returnerar det -1.
lastIndexOf
Prototyp: int lastIndexOf (Object o)
Parametrar: o => Objekt vars index ska sökas
Returvärde: int => Index för den senaste förekomsten av det givna elementet i listan, -1 annars.
Beskrivning: Metoden 'lastIndexOf ()' returnerar index för den senaste förekomsten av element o i listan. Om elementet inte hittas returnerar metoden -1.
Java-programmet nedan visar användningen av indexOf- och lastIndexOf-metoder i listan.
import java.util.*; public class Main { public static void main(String() args) { // define an integer array List intList = new ArrayList(5); //add elements to the list intList.add(10); intList.add(20); intList.add(30); intList.add(10); intList.add(20); //print the list System.out.println('The list of integers:' + intList); // Use indexOf() and lastIndexOf() methods of list to find first and last index System.out.println('first index of 20:' + intList.indexOf(20)); System.out.println('last index of 10:' + intList.lastIndexOf(10)); } }
Produktion:
ta bort
Prototyp: Object remove (int index)
Parametrar: index => Index eller position i listan där elementet ska tas bort
Returvärde: Objekt => Element borttaget
Beskrivning: Metoden ”remove ()” tar bort elementet på den angivna positionen från listan. Efter borttagning flyttas elementen bredvid det raderade elementet åt vänster.
Denna metod kan ge följande undantag:
Ej stöddOperationException: Ta bort stöds inte av listan.
IndexOutOfBoundsException: Det angivna indexet är utanför intervallet
ta bort
Prototyp: boolean ta bort (Objekt o)
Parametrar: o => Element som ska tas bort från listan
Returvärde: true => Elementet har tagits bort.
Beskrivning: Den här överbelastade versionen av metoden remove () tar bort den första förekomsten av ett visst element o från listan. Om det angivna elementet inte finns i listan förblir det oförändrat.
vad används c ++ för?
Denna metod kan ge följande undantag:
Ej stöddOperationException: Ta bort stöds inte av listan.
ta bort alla
Prototyp: boolean removeAll (samling c)
Parametrar: c => En samling som innehåller element som tas bort från listan.
Returvärde: true => Om metodanropet lyckas och alla element som anges i samlingen c tas bort från listan.
Beskrivning: Metoden 'removeAll ()' används för att ta bort alla element från listan som anges i samling c som skickas som ett argument.
Denna metod kan ge följande undantag:
Ej stöddOperationException: removeAll stöds inte av listan.
Låt oss se ett exempel på ta bort och ta bort alla metoder.
import java.util.*; public class Main { public static void main(String() args) { // Creating a list List oddList = new ArrayList(); //add elements to the list oddList.add(1); oddList.add(3); oddList.add(5); oddList.add(7); oddList.add(9); oddList.add(11); //print the original list System.out.println('Original List:' + oddList); // Removes element from index 1 oddList.remove(1); System.out.println('Oddlist after removing element at index 1:' + oddList); //removeAll method List c1 = new ArrayList(); c1.add(1); c1.add(5); c1.add(11); oddList.removeAll(c1); System.out.println('Oddlist after removing elements {1,5,11}}:' + oddList); } }
Produktion:
behålla allt
Prototyp: boolean retainAll (Collection c)
Parametrar: c => Samling som innehåller element som ska behållas i listan.
Returvärde: true => Om metodanropet ändrade listan.
Beskrivning: Denna metod tar bort alla element från listan förutom de som finns i samlingen c. Med andra ord, den här metoden behåller alla element i listan som finns i samling c och tar bort de andra elementen.
Denna metod kan ge följande undantag:
Ej stöddOperationException: retainAll stöds inte av listan.
import java.util.*; public class Main { public static void main(String() args) { // Creating a list List oddList = new ArrayList(); //add elements to the list oddList.add(1); oddList.add(3); oddList.add(5); oddList.add(7); oddList.add(9); oddList.add(11); //print the original list System.out.println('Original List:' + oddList); //retainAll method List c1 = new ArrayList(); c1.add(1); c1.add(5); c1.add(11); oddList.retainAll(c1); System.out.println('Oddlist after call to retainAll (1,5,11):' + oddList); } }
Produktion:
underlista
Prototyp: Lista sublista (int fromIndex, int toIndex)
Parametrar: fromIndex => Lägre index i listan (inklusive)
toIndex => Högre index i listan (exklusiv)
Returvärde: List => En underlista över den angivna listan
Beskrivning: Metodens sublista () returnerar den partiella vyn i listan, även känd som sublista från 'fromIndex' till 'toIndex'. Den returnerade underlistan är bara en vy över föräldralistan och därmed ändras alla ändringar i någon av listorna överallt.
På samma sätt fungerar alla funktioner i listan också på en underlista.
Metoden kan kasta följande undantag:
IndexOutOfBoundsException: Olagligt tillIndex-värde.
Ett exempel på program för sublistmetoden ges nedan.
import java.util.*; public class Main { public static void main(String() args) { // define a string list List strList = new ArrayList(5); //add elements to the list strList.add('Java'); strList.add('Tutorials'); strList.add('Collection'); strList.add('Framework'); strList.add('Series'); //print the original list System.out.println('The original list=>strList: ' + strList); //define another list List subList = new ArrayList(); // take a sublist of elements from 2 to 4 from strList subList = strList.subList(2, 4); //print the sublist System.out.println('The sublist of strList:' + subList); } }
Produktion:
sorteringslista
Prototyp: void sort (Comparator c)
Parametrar: c => Komparator på grundval av vilken listan sorteras.
Returvärde: NOLL
Beskrivning: Metoden 'sortera ()' används för att sortera listan. Metoden använder den angivna komparatorn för att sortera listan.
Låt oss se ett exempel på sorteringsmetoden . Vi har jämfört den med metoden Collections.sort som sorterar elementen i en naturlig sekvens. Programmets resultat är en ordnad lista.
import java.util.Collections; import java.util.ArrayList; import java.util.List; import java.util.Random; public class Main { public static void main(String() args) { //define list List intArray = new ArrayList(); Random random = new Random(); //populate the list with random numbers <20 for (int i = 0; i {return (o2-o1);}); //comparator to sort in reverse System.out.println('Reverse List sorted using comparator:
'+intArray); } }
Produktion:
toArray
Prototyp: Objekt () toArray ()
Parametrar: NOLL
Returvärde: Objekt () => Arrayrepresentation av listan
Beskrivning: Method toArray () returnerar arrayrepresentationen för listan i rätt ordning.
toArray
Prototyp: Objekt () toArray (Objekt () a)
Parametrar: a => Array-typ som ska matchas med listelementtyper medan listan konverteras till en array.
Returvärde: Objekt () => Arrayrepresentation av listan.
Beskrivning: Denna överbelastning av metoden toArray () returnerar matrisen som innehåller element i listan som har samma körtidstyp som den för array a.
Denna metod kan ge följande undantag:
ArrayStoreException: Runtime-typen för varje element i listan är inte en undertyp för runtime-typen för varje element i listan.
Följande är ett exempel på implementeringen av toArray-metoden.
import java.util.*; public class Main { public static void main(String() args) { // create list ArrayList colorsList = new ArrayList(7); // add colors to colorsList colorsList.add('Violet'); colorsList.add('Indigo'); colorsList.add('Blue'); colorsList.add('Green'); colorsList.add('Yellow'); colorsList.add('Orange'); colorsList.add('Red'); System.out.println('Size of the colorsList: ' + colorsList.size()); // Print the colors in the list System.out.println('Contents of colorsList:'); for (String value : colorsList){ System.out.print(value + ' '); } // Create an array from the list using toArray method String colorsArray() = new String(colorsList.size()); colorsArray = colorsList.toArray(colorsArray); // Display the contents of the array System.out.println('
Printing elements of colorsArray:' + Arrays.toString(colorsArray)); } }
Produktion:
Iterator
Prototyp: Iterator iterator ()
Parametrar: NOLL
Returvärde: Iterator => Iterator för att itera över elementen i listan
Beskrivning: Den här metoden returnerar iteratorn som itererar över elementen i listan.
Java-program för att demonstrera med iterator.
import java.util.*; public class Main { public static void main(String() args) { // create list ArrayList colorsList = new ArrayList(7); // add colors to colorsList colorsList.add('Violet'); colorsList.add('Indigo'); colorsList.add('Blue'); colorsList.add('Green'); colorsList.add('Yellow'); colorsList.add('Orange'); colorsList.add('Red'); System.out.println('ColorList using iterator:'); //define iterator for colorsList Iterator iterator = colorsList.iterator(); //iterate through colorsList using iterator and print each item while(iterator.hasNext()){ System.out.print(iterator.next() + ' '); } } }
Produktion:
listIterator
Prototyp: ListIterator listIterator ()
Parametrar: NOLL
Returvärde: ListIterator => Listiterator över elementen i listan.
Beskrivning: Method listIterator () returnerar ListIterator-objektet för elementen i listan. Denna iterator börjar från början av listan, dvs. index 0.
listIterator
Prototyp: ListIterator listIterator (int index)
Parametrar: index => Position vid vilken listIterator startar.
Returvärde: ListIterator => ListIterator-objekt vid angivet index i listan.
Beskrivning: Överbelastningen av metod listIterator () returnerar en listIterator som börjar vid den angivna positionen i listan. Det angivna indexet indikerar att det kommer att vara det första elementet som kommer att returneras av det första anropet till nextElement () -metoden i ListIterator.
Metoden kan kasta IndexOutOfBoundsException för indexets ogiltiga värde.
Följande exempel visar listIterator-användning.
import java.util.*; public class Main { public static void main(String() args) { //define list & add items to list List nameList = new LinkedList(); nameList.add('Java'); nameList.add('C++'); nameList.add('Python'); // get listIterator for the list ListIterator namesIterator = nameList.listIterator(); // Traverse list using listiterator and print each item System.out.println('Contents of list using listIterator:'); while(namesIterator.hasNext()){ System.out.print(namesIterator.next() + ' '); } } }
Produktion:
Vi kommer att diskutera ListIterator i detalj senare.
Låt oss nu diskutera några av de olika operationerna som kan göras på listor men metoder som inte finns i listgränssnittet.
Kopiera lista i Java
För att kopiera element från en lista till en annan lista måste du använda metoden copy () som tillhandahålls av samlingsramen.
Metoden Collections.copy () kopierar alla element i listan som tillhandahålls som det andra argumentet till listan som det första argumentet. Observera att listan till vilken innehållet i en annan lista kopieras ska vara tillräckligt stor för att rymma de kopierade elementen.
Om listan inte är tillräckligt stor, kopierar metoden 'indexOutOfBoundsEexception'.
Följande program kopierar innehållet i en lista till en annan.
import java.util.*; public class Main { public static void main(String() args) { //create first ArrayList object List aList_1 = new ArrayList(); //Add elements to first ArrayList aList_1.add('R'); aList_1.add('G'); aList_1.add('B'); //print the List System.out.println('The first list:' + aList_1); //create second ArrayList object List aList_2 = new ArrayList(); //Add elements to second Arraylist aList_2.add('Red'); aList_2.add('Green'); aList_2.add('Blue'); aList_2.add('Yellow'); aList_2.add('Brown'); System.out.println('The second list: ' + aList_2); //use Collections.copy() method to copy elements of first list to second list. Collections.copy(aList_2,aList_1); //print the resultant second Arraylist System.out.println('
The second list after copying first list to second list: ' + aList_2); } }
Produktion:
Ta bort dubbletter från en lista i Java
En viss lista kan ha eller inte ha repetitiva element eller dubbletter. Om listan du arbetar med har dubbla element och du vill ha alla distinkta element i listan finns det två metoder för att ta bort dubbletter från listan som stöds i Java.
Använda Java 8 stream
Den första metoden för att ta bort dubbletter från listan är genom att använda den distinkta () metoden som tillhandahålls av Java 8 stream. Här anropar listan som innehåller dubbletter metoden stream () .distinct och sedan konverteras returvärdet till en ny lista som bara har de olika elementen.
Följande program visar användningen av distinkt () -metoden.
import java.util.*; import java.util.stream.Collectors; class Main { public static void main(String() args) { // original list List intlist = new ArrayList( Arrays.asList(1, 1, 1, 2, 2, 3, 3, 3, 4, 5, 5,6,5,3,4)); // Print the list System.out.println('Original ArrayList: ' + intlist); // using distinct() method of Java 8 stream remove duplicates from original List //and generate a new list without duplicates List distinct_list = intlist.stream().distinct() .collect(Collectors.toList()); // Print the new list System.out.println('ArrayList after removing duplicates: ' + distinct_list); } }
Produktion:
Med Iterator-tillvägagångssätt
Att ta bort dubbletter från listan med iteratorn är en lång och primitiv metod. I det här tillvägagångssättet måste du gå igenom listan och placera den första förekomsten av varje element i en ny lista. Varje efterföljande element kontrolleras om det är en duplikat.
Programmet nedan uppnår detta.
import java.util.*; public class Main { public static void main(String args()) { // create original list ArrayList aList = new ArrayList( Arrays.asList(1, 1, 1, 2, 2, 3, 3, 3, 4, 5, 5, 6, 5, 3, 4)); // Print the original list System.out.println('Original List: '+ aList); // Create a new list ArrayList new_List = new ArrayList(); // Traverse through the original list to remove duplicates for (Integer element : aList) { // check if element is present in new_List, else add it if (!new_List.contains(element)) { new_List.add(element); } } // Print the new list without duplicates System.out.println('List after removing duplicates: '+ new_List); } }
Produktion:
Vanliga frågor
F # 1) Vad är get-metoden i listan i Java?
Svar: Get-metoden i listan används för att hämta ett visst element i listan baserat på indexet. Du skickar det index som krävs till get-metoden och get-metoden returnerar elementvärdet till det indexet.
F # 2) Vad är toArray-metoden i Java?
Svar: Metoden toArray () används för att få matrisrepresentationen för listan.
F # 3) Hur sorterar du en lista i Java?
Svar: I Java kan en lista sorteras med hjälp av listans sorteringsmetod. Du kan skicka dina egna sorteringskriterier med hjälp av komparatorgränssnittet som skickas till sorteringsmetoden som en parameter.
Du kan också använda samlingar. Sortera metod för att sortera listan. Denna metod sorterar listan enligt naturlig beställning.
F # 4) Vad är Arrays.asList () i Java?
Svar: Metoden 'asList' för array returnerar listan över element som backas upp av en array.
Slutsats
I den här handledningen har vi lärt oss alla metoder som en lista ger. Java-listan innehåller olika metoder med vilka du kan manipulera och bearbeta listor inklusive sökning, sortering etc. Vi har förklarat varje metod med lämpliga programmeringsexempel här.
I vår kommande handledning kommer vi att diskutera ListIterator i detalj.
=> Utforska The Simple Java Training Series här.
Rekommenderad läsning
- Java List - Hur man skapar, initialiserar och använder en lista i Java
- Covert List to Array and Other Collections In Java
- Python Advanced List Tutorial (List Sort, Reverse, Index, Copy, Join, Sum)
- Python List - Skapa, komma åt, skiva, lägga till eller ta bort element
- Java-trådar med metoder och livscykel
- Ta bort / ta bort ett element från en array i Java
- Java String Tutorial | Java-strängmetoder med exempel
- Standard IP-adresslista för router för vanliga trådlösa routermärken