java list methods sort list
In deze zelfstudie worden verschillende Java-lijstmethoden uitgelegd, zoals Sort List, List Contains, List Add, List Remove, List Size, AddAll, RemoveAll, Reverse List en meer:
We hebben de lijstinterface in het algemeen al besproken in onze vorige tutorial. Lijstinterface heeft verschillende methoden die worden gebruikt om de inhoud van de lijst te manipuleren. Met behulp van deze methoden kunt u elementen in de lijst invoegen / verwijderen, sorteren en zoeken.
In deze zelfstudie bespreken we alle methoden die worden geboden door de lijstinterface.
Kijk hier om AZ van Java-trainingshandleidingen hier te zien.
Om de lijst te herhalen, maakt de lijstinterface gebruik van de lijst-iterator. Deze lijst-iterator strekt zich uit van de iterator-interface. In onze volgende tutorial zullen we meer onderzoeken over de lijst-iterator.
Wat je leert:
- Lijstmethoden in Java
- Verwijder duplicaten uit een lijst in Java
- Veel Gestelde Vragen
- Gevolgtrekking
- Aanbevolen literatuur
Lijstmethoden in Java
De volgende tabel toont verschillende functies die worden geboden door de lijstinterface in Java.
Lijst methode | Methode Prototype | Omschrijving |
---|---|---|
bevat | boolean bevat (Object o) | Controleert of het opgegeven element aanwezig is in de lijst en retourneert waar indien aanwezig |
grootte | int maat () | Geeft als resultaat de grootte van de lijst, d.w.z. het aantal elementen in de lijst of de lengte van de lijst. |
Doorzichtig | leegte duidelijk () | Wist de lijst door alle elementen in de lijst te verwijderen |
toevoegen | void add (int index, Object element) | Voegt het gegeven element toe aan de lijst bij de gegeven index |
boolean add (Object o) | Voegt het gegeven element toe aan het einde van de lijst | |
Voeg alles toe | boolean addAll (verzameling c) | Voegt de volledige gegeven verzameling toe aan het einde van de lijst |
boolean addAll (int index, verzameling c) | Voegt de opgegeven verzameling (alle elementen) in de lijst bij de opgegeven index in | |
bevatAll | boolean containsAll (verzameling c) | Controleert of de opgegeven verzameling (alle elementen) deel uitmaakt van de lijst. Retourneert waar van ja. |
gelijk is | boolean is gelijk aan (Object o) | Vergelijkt het opgegeven object voor gelijkheid met elementen van de lijst |
Krijgen | Object get (int index) | Retourneert het element in de lijst gespecificeerd door index |
hashCode | int hashCode () | Retourneert de hashcodewaarde van de lijst. |
indexOf` | int indexOf (Object o) | Vindt het eerste exemplaar van het invoerelement en retourneert zijn index |
is leeg | boolean isEmpty () | Controleert of de lijst leeg is |
lastIndexOf | int lastIndexOf (Object o) | Vindt het laatste exemplaar van het invoerelement in de lijst en retourneert zijn index |
verwijderen | Object verwijderen (int index) | Verwijdert het element op de opgegeven index |
boolean remove (Object o) | Verwijdert het element bij zijn eerste voorkomen in de lijst | |
Verwijder alles | boolean removeAll (Collectie c) | Verwijdert alle elementen in de opgegeven verzameling uit de lijst |
keepAll | boolean behoudenAll (verzameling c) | Tegenover removeAll. Behoudt het element dat is opgegeven in de invoercollectie in de lijst. |
Set | Objectset (int index, objectelement) | Wijzigt het element op de opgegeven index door het in te stellen op de opgegeven waarde |
subList | Lijst subLijst (int fromIndex, int toIndex) | Retourneert een sublijst met elementen tussen fromIndex (inclusief) en toIndex (exclusief). |
soort | ongeldig sorteren (Comparator c) | Sorteert het lijstelement volgens de opgegeven vergelijker om een geordende lijst te geven |
toArray | Object () toArray () | Retourneert een matrixweergave van de lijst |
Object () toArray (Object () a) | Retourneert de array-weergave waarvan het runtime-type hetzelfde is als een opgegeven array-argument | |
iterator | Iterator iterator () | Retourneert een Iterator voor de lijst |
listIterator | ListIterator lijstIterator () | Retourneert een ListIterator voor de lijst |
ListIterator listIterator (int index) | Retourneert een ListIterator die begint bij de opgegeven index in de lijst |
Vervolgens bespreken we deze functies samen met hun voorbeelden.
grootte
Voorlopig ontwerp: int maat ()
Parameters: NIL
Winstwaarde: int => Aantal elementen in de lijst of met andere woorden de lengte van de lijst.
Omschrijving: De size () geeft het aantal elementen of de grootte van de lijst terug. Het kan ook in eenvoudige bewoordingen lengte worden genoemd.
Doorzichtig
Voorlopig ontwerp: leegte duidelijk ()
Parameters: NIL
Winstwaarde: Geen retourwaarde
Omschrijving: Wist de lijst door alle elementen uit de lijst te verwijderen. Gooit 'UnSupportedException' als de bewerking niet wordt ondersteund door de lijst.
Het onderstaande voorbeeld toont de methode size () en clear ().
Uitgang:
toevoegen
Voorlopig ontwerp: void add (int index, Object element)
Parameters: index - een positie waarop het element moet worden toegevoegd.
Element - het element dat moet worden toegevoegd
Winstwaarde: leegte
Omschrijving: Voegt het gegeven element toe aan de lijst bij de gegeven index. De volgende elementen worden naar rechts verschoven.
De volgende uitzonderingen worden gegenereerd:
IndexOutOfBoundsException: Lijstindex is buiten bereik
UnsupportedOperationException: Toevoegen wordt niet ondersteund door de lijst.
ClassCastException: Het element kan niet aan de lijst worden toegevoegd vanwege de klasse van gespecificeerde elementen.
IllegalArgumentException: Opgegeven element of een bepaald aspect is niet correct.
Toevoegen
Voorlopig ontwerp: boolean add (Object o)
Parameters: o => Element dat aan de lijst moet worden toegevoegd
Winstwaarde: true => Element succesvol toegevoegd
False => Toevoegen niet gelukt
Omschrijving: Deze methode voegt het gegeven element toe aan het einde van de lijst.
Deze bewerking kan de volgende uitzonderingen opleveren.
UnsupportedOperationException: Bewerking toevoegen die niet wordt ondersteund door deze lijst.
ClassCastException: Het opgegeven element kan niet worden toegevoegd vanwege zijn klasse
IllegalArgumentException: Opgegeven element of een bepaald aspect is niet correct.
Voeg alles toe
Voorlopig ontwerp: boolean addAll (verzameling c)
Parameters: c => Verzameling waarvan de elementen aan de lijst moeten worden toegevoegd
Winstwaarde: true => Uitvoering van methode geslaagd
Omschrijving: De addAll-methode haalt alle elementen uit collectie c en voegt ze toe aan het einde van de lijst door de ingestelde volgorde te behouden.
Deze methode vertoont niet-gespecificeerd gedrag als de verzameling wordt gewijzigd terwijl de bewerking wordt uitgevoerd.
De methode genereert de volgende uitzonderingen:
UnsupportedOperationException: Bewerking toevoegen die niet wordt ondersteund door deze lijst.
ClassCastException: Het opgegeven element kan niet worden toegevoegd vanwege zijn klasse.
IllegalArgumentException: Opgegeven element of een bepaald aspect is niet correct.
Voeg alles toe
Voorlopig ontwerp: boolean addAll (int index, verzameling c)
type testen in software engineering
Parameters: index => Positie waar de collectie moet worden ingevoegd.
C => Collectie die in de lijst moet worden ingevoegd.
Winstwaarde: true => Als collectie-elementen met succes aan de lijst zijn toegevoegd.
Omschrijving: De addAll-methode voegt alle elementen in de opgegeven verzameling in de lijst bij de opgegeven index in. De volgende elementen worden dan naar rechts verschoven. Net als in het geval van de vorige overbelasting van addAll, is het gedrag niet gespecificeerd als de verzameling wordt gewijzigd terwijl de bewerking wordt uitgevoerd.
De uitzonderingen die door deze methode worden veroorzaakt, zijn:
UnsupportedOperationException: Bewerking toevoegen die niet wordt ondersteund door deze lijst.
ClassCastException: Het opgegeven element kan niet worden toegevoegd vanwege zijn klasse.
IllegalArgumentException: Opgegeven element of een bepaald aspect is niet correct.
IndexOutOfBoundsException: Index buiten bereik.
Het onderstaande programma toont de demonstratie van de add- en addAll-methoden van de lijst.
Uitgang:
bevat
Voorlopig ontwerp: boolean bevat (Object o)
Parameters: o => Element dat moet worden gezocht in de lijst.
Winstwaarde: true => Als lijst het gespecificeerde element bevat.
Omschrijving: De methode 'bevat' controleert of het opgegeven element aanwezig is in de lijst en retourneert een Booleaanse waarde true als het element aanwezig is. Anders retourneert het false.
bevatAll
Voorlopig ontwerp: boolean containsAll (verzameling c)
Parameters: c => Collectie die moet worden doorzocht in de lijst.
Winstwaarde: true => Als alle elementen in de opgegeven verzameling aanwezig zijn in de lijst.
Omschrijving: De methode “containsAll” controleert of alle elementen die aanwezig zijn in de opgegeven verzameling, aanwezig zijn in de lijst. Indien aanwezig, retourneert het een ware waarde en anders onwaar.
Het volgende Java-programma demonstreert het gebruik van de ‘contains’ en ‘containsAll’ methoden van de lijst.
Uitgang:
Gegeven lijst bevat string ‘Java’ maar geen string ‘C’
Lijst bevat strings ‘Ruby’ en ‘Python’
gelijk is
Voorlopig ontwerp: boolean is gelijk aan (Object o)
Parameters: o => Het object dat op gelijkheid moet worden getest.
Winstwaarde: true => Als het opgegeven object gelijk is aan de lijst.
Omschrijving: Deze methode wordt gebruikt om het gegeven object te vergelijken met de lijst met gelijkheden. Als het opgegeven object een lijst is, retourneert de methode true. Van beide lijsten wordt gezegd dat ze gelijk zijn als en alleen als ze dezelfde grootte hebben, en de overeenkomstige elementen in de twee lijsten gelijk en in dezelfde volgorde zijn.
Een demonstratie van de gelijkenmethode wordt hieronder gegeven:
Uitgang:
Krijgen
Voorlopig ontwerp: Object get (int index)
Parameters: index => Positie waarop het element moet worden geretourneerd.
Winstwaarde: object => Element op de opgegeven positie.
Omschrijving: De methode get () retourneert het element op de opgegeven positie.
Deze methode genereert 'indexOutOfBoundsException' als de opgegeven index buiten het bereik van de lijst valt.
Set
Voorlopig ontwerp: Objectset (int index, objectelement)
Parameters: index => Positie waarop het nieuwe element moet worden ingesteld.
element => Nieuw element dat op de positie wordt geplaatst die is opgegeven door index.
Winstwaarde: Object => Element dat is vervangen
Omschrijving: De methode set () vervangt het element op de gegeven index door een andere waarde gegeven door element.
De methode kan de volgende uitzonderingen opleveren:
UnsupportedOperationException: Instellen wordt niet ondersteund door de lijst.
ClassCastException: Bewerking kan niet worden uitgevoerd vanwege de klasse van het element
IllegalArgumentException: Argument of een aspect ervan is illegaal
IndexOutOfBoundsException: Index buiten bereik.
Het volgende programma toont een voorbeeld van de methode get () en set ().
Uitgang:
hoeveel bruikbare hosts zijn er beschikbaar gegeven een klasse c ip-adres met het standaard subnetmasker?
hashCode
Voorlopig ontwerp: int hashCode ()
Parameters: NIL
Winstwaarde: int => hashCode van de lijst
Omschrijving: De methode ‘hashCode ()’ retourneert de hashCode van de lijst die een geheel getal is.
Voorbeeld:
Uitgang:
is leeg
Voorlopig ontwerp: boolean isEmpty ()
Parameters: NIL
Winstwaarde: true => Lijst is leeg
Omschrijving: De ‘isEmpty ()’ - methode controleert of de lijst leeg is. De methode IsEmpty wordt gebruikt om te controleren of de lijst elementen bevat voordat u deze elementen gaat verwerken.
index van
Voorlopig ontwerp: int indexOf (Object o)
Parameters: o => element om naar te zoeken in de lijst
Winstwaarde: int => de index of positie van het eerste voorkomen van het gegeven element in de lijst. Geeft -1 terug als het element niet aanwezig is.
Omschrijving: De methode ‘indexOf ()’ retourneert de index van de eerste keer dat het gegeven element o in de lijst voorkomt. Als het element niet wordt gevonden, retourneert het -1.
lastIndexOf
Voorlopig ontwerp: int lastIndexOf (Object o)
Parameters: o => Object waarvan de index moet worden doorzocht
Winstwaarde: int => Index van de laatste keer dat het gegeven element in de lijst voorkomt, anders -1.
Omschrijving: De methode ‘lastIndexOf ()’ retourneert de index van de laatste keer dat element o in de lijst voorkomt. Als het element niet wordt gevonden, retourneert de methode -1.
Het onderstaande Java-programma demonstreert het gebruik van de methoden indexOf en lastIndexOf van de lijst.
Uitgang:
verwijderen
Voorlopig ontwerp: Object verwijderen (int index)
Parameters: index => Index of positie in de lijst waarop het element verwijderd moet worden
Winstwaarde: Object => Element verwijderd
Omschrijving: De ‘remove ()’ methode verwijdert het element op de gegeven positie uit de lijst. Na verwijdering worden de elementen naast het verwijderde element naar links verschoven.
Deze methode kan de volgende uitzonderingen opleveren:
UnsupportedOperationException: Verwijderen wordt niet ondersteund door de lijst.
IndexOutOfBoundsException: De opgegeven index valt buiten het bereik
verwijderen
Voorlopig ontwerp: boolean remove (Object o)
Parameters: o => Element dat uit de lijst moet worden verwijderd
Winstwaarde: true => Element is succesvol verwijderd.
Omschrijving: Deze overbelaste versie van de remove () - methode verwijdert de eerste keer dat een bepaald element o uit de lijst voorkomt. Als het gegeven element niet in de lijst voorkomt, blijft het ongewijzigd.
Deze methode kan de volgende uitzondering opleveren:
UnsupportedOperationException: Verwijderen wordt niet ondersteund door de lijst.
Verwijder alles
Voorlopig ontwerp: boolean removeAll (Collectie c)
Parameters: c => Een verzameling die elementen bevat die uit de lijst zijn verwijderd.
Winstwaarde: true => Als de methodeaanroep succesvol is en alle elementen gespecificeerd in de collectie c worden verwijderd uit de lijst.
Omschrijving: De ‘removeAll ()’ methode wordt gebruikt om alle elementen uit de lijst te verwijderen die zijn gespecificeerd in verzameling c die als argument wordt doorgegeven.
Deze methode kan de volgende uitzondering opleveren:
UnsupportedOperationException: removeAll wordt niet ondersteund door de lijst.
Laten we een voorbeeld bekijken van de methodes remove en removeAll.
Uitgang:
keepAll
Voorlopig ontwerp: boolean behoudenAll (verzameling c)
Parameters: c => Verzameling die elementen bevat die in de lijst moeten worden behouden.
Winstwaarde: true => Als de methodeaanroep de lijst heeft gewijzigd.
Omschrijving: Deze methode verwijdert alle elementen uit de lijst behalve degene die aanwezig zijn in de collectie c. Met andere woorden, deze methode behoudt alle elementen in de lijst die aanwezig zijn in collectie c en verwijdert de andere elementen.
Deze methode kan de volgende uitzondering opleveren:
UnsupportedOperationException: behoudenAll wordt niet ondersteund door de lijst.
Uitgang:
subList
Voorlopig ontwerp: Lijst subLijst (int fromIndex, int toIndex)
Parameters: fromIndex => Onderste index van de lijst (inclusief)
toIndex => Hogere index van de lijst (exclusief)
Winstwaarde: List => Een sublijst van de gegeven lijst
Omschrijving: De methode sublist () retourneert de gedeeltelijke weergave van de lijst, ook bekend als sublijst van ‘fromIndex’ naar ‘toIndex’. De geretourneerde sublijst is slechts een weergave van de bovenliggende lijst en dus worden wijzigingen in een van beide lijsten overal weergegeven.
Op dezelfde manier werken alle bewerkingen van de lijst ook op een sublijst.
De methode kan de volgende uitzondering genereren:
IndexOutOfBoundsException: Ongeldige toIndex-waarde.
Een voorbeeldprogramma voor de sublijstmethode wordt hieronder gegeven.
Uitgang:
sorteer lijst
Voorlopig ontwerp: ongeldig sorteren (Comparator c)
Parameters: c => Comparator op basis waarvan de lijst wordt gesorteerd.
Winstwaarde: NIL
Omschrijving: De methode ‘sort ()’ wordt gebruikt om de lijst te sorteren. De methode maakt gebruik van de opgegeven comparator om de lijst te sorteren.
Laten we een voorbeeld bekijken van de sorteermethode We hebben het vergeleken met de methode Collections.sort die de elementen in een natuurlijke volgorde sorteert. De output van het programma is een geordende lijst.
Uitgang:
toArray
Voorlopig ontwerp: Object () toArray ()
hoe u een .apk-bestand opent
Parameters: NIL
Winstwaarde: Object () => Array-weergave van de lijst
Omschrijving: Method toArray () retourneert de matrixweergave van de lijst in de juiste volgorde.
toArray
Voorlopig ontwerp: Object () toArray (Object () a)
Parameters: a => Array-type dat moet worden vergeleken met lijstelementtypen tijdens het converteren van de lijst naar een array.
Winstwaarde: Object () => Array-weergave van de lijst.
Omschrijving: Deze overbelasting van methode toArray () retourneert de array met elementen in de lijst die hetzelfde runtime-type hebben als dat van array a.
Deze methode kan de volgende uitzondering opleveren:
ArrayStoreException: Het runtime-type van elk element in de lijst is geen subtype van het runtime-type van elk element in deze lijst.
Het volgende is een voorbeeld van de implementatie van de toArray-methode.
Uitgang:
Iterator
Voorlopig ontwerp: Iterator iterator ()
Parameters: NIL
Winstwaarde: Iterator => Iterator om de elementen van de lijst te herhalen
Omschrijving: Deze methode retourneert de iterator die itereert over de elementen in de lijst.
Java-programma om het gebruik van iterator te demonstreren.
Uitgang:
listIterator
Voorlopig ontwerp: ListIterator lijstIterator ()
Parameters: NIL
Winstwaarde: ListIterator => Listiterator van de elementen in de lijst.
Omschrijving: Methode listIterator () geeft het ListIterator-object van de elementen in de lijst terug. Deze iterator begint vanaf het begin van de lijst, d.w.z. index 0.
listIterator
Voorlopig ontwerp: ListIterator listIterator (int index)
Parameters: index => Positie waarop listIterator start.
Winstwaarde: ListIterator => ListIterator-object op gespecificeerde index in de lijst.
Omschrijving: De overbelasting van de methode listIterator () geeft een listIterator terug die begint op de gegeven positie in de lijst. De opgegeven index geeft aan dat dit het eerste element is dat zal worden geretourneerd door de eerste aanroep van de methode nextElement () van ListIterator.
De methode kan IndexOutOfBoundsException genereren voor de ongeldige waarde van de index.
Het volgende voorbeeld laat het gebruik van listIterator zien.
Uitgang:
We zullen ListIterator later in detail bespreken.
Laten we nu enkele van de diverse bewerkingen bespreken die op lijsten kunnen worden uitgevoerd, maar methoden waarvoor niet in de lijstinterface zijn voorzien.
Kopieerlijst in Java
Om elementen van de ene lijst naar een andere lijst te kopiëren, moet u de methode copy () gebruiken die wordt geboden door het framework Collections.
De methode Collections.copy () kopieert alle elementen van de lijst die als tweede argument is opgegeven, naar de lijst die als eerste argument is opgegeven. Merk op dat de lijst waarnaar de inhoud van een andere lijst wordt gekopieerd, groot genoeg moet zijn om de gekopieerde elementen op te nemen.
Als de lijst niet groot genoeg is, gooit de kopieermethode 'indexOutOfBoundsEexception'.
Het volgende programma kopieert de inhoud van de ene lijst naar de andere.
Uitgang:
Verwijder duplicaten uit een lijst in Java
Een bepaalde lijst kan al dan niet herhalende elementen of duplicaten bevatten. Als de lijst waarmee u werkt dubbele elementen bevat en u wilt alle afzonderlijke elementen in de lijst, dan zijn er twee methoden om duplicaten te verwijderen uit de lijst die in Java wordt ondersteund.
Met behulp van Java 8-stream
De eerste methode om duplicaten uit de lijst te verwijderen, is door de methode distinct () te gebruiken die wordt geleverd door Java 8-stream. Hier roept de lijst met duplicaten de stream () .distinct-methode op en vervolgens wordt de geretourneerde waarde geconverteerd naar een nieuwe lijst die alleen de verschillende elementen bevat.
Het volgende programma demonstreert het gebruik van de methode distinct ().
Uitgang:
Met behulp van de Iterator-benadering
Het verwijderen van duplicaten van de lijst met behulp van de iterator is een langdurige en primitieve benadering. Bij deze benadering moet u door de lijst bladeren en het eerste exemplaar van elk element in een nieuwe lijst plaatsen. Elk volgend element wordt gecontroleerd of het een duplicaat is.
Het onderstaande programma realiseert dit.
Uitgang:
Veel Gestelde Vragen
V # 1) Wat is de methode get in de lijst in Java?
Antwoord: Get-methode van de lijst wordt gebruikt om een bepaald element in de lijst op te halen op basis van de index. U geeft de vereiste index door aan de methode get en de methode get retourneert de elementwaarde bij die index.
Vraag 2) Wat is de toArray-methode in Java?
Antwoord: De methode toArray () wordt gebruikt om de matrixweergave van de lijst op te halen.
V # 3) Hoe sorteer je een lijst in Java?
Antwoord: In Java kan een lijst worden gesorteerd met behulp van de sorteermethode van de lijst. U kunt uw eigen sorteercriteria doorgeven met behulp van de vergelijkingsinterface die als parameter aan de sorteermethode wordt doorgegeven.
U kunt ook Collecties gebruiken. Sorteermethode om de lijst te sorteren. Deze methode sorteert de lijst volgens de natuurlijke volgorde.
Vraag 4) Wat is Arrays.asList () in Java?
Antwoord: De methode ‘asList’ van array retourneert de lijst met elementen ondersteund door een array.
Gevolgtrekking
In deze tutorial hebben we alle methoden geleerd die een lijst biedt. De Java-lijst biedt verschillende methoden waarmee u lijsten kunt manipuleren en verwerken, inclusief zoeken, sorteren, enz. We hebben elke methode uitgelegd met de juiste programmeervoorbeelden hier.
In onze aanstaande tutorial zullen we de ListIterator in detail bespreken.
Ontdek hier de eenvoudige Java-trainingsserie.
Aanbevolen literatuur
- Java-lijst - Hoe u een lijst in Java kunt maken, initialiseren en gebruiken
- Covert List To Array en andere collecties in Java
- Python Advanced List-zelfstudie (lijst sorteren, omkeren, indexeren, kopiëren, samenvoegen, optellen)
- Python-lijst - Elementen maken, openen, segmenteren, toevoegen of verwijderen
- Java-threads met methoden en levenscyclus
- Een element verwijderen / verwijderen uit een array in Java
- Zelfstudie voor Java String | Java String-methoden met voorbeelden
- Standaard IP-adreslijst van router voor veelgebruikte merken draadloze router