arraylist methods java tutorial with example programs
I denne opplæringen vil vi diskutere Java ArrayList-metoder som add, addAll, remove, removeAll, størrelse, inneholder, retainAll, Sort, Reverse, etc. med eksempler:
I forrige opplæring utforsket vi ArrayList-datastrukturen, og ArrayList-klassen ga denne datastrukturen / samlingen i Java. Vi har lært å lage, initialisere osv. Av ArrayList-objektene.
Bortsett fra disse funksjonene som hjelper oss med å definere ArrayList, gir ArrayList-klassen i Java også et fullverdig funksjons-API som består av metoder som brukes til å manipulere ArrayList-objekter.
=> Sjekk ALLE Java-opplæringsprogrammer her.
Disse metodene lar oss legge til, slette, søkeelementer i ArrayList, samt å hente lengden / størrelsen på ArrayList-elementene, etc.
I denne opplæringen vil vi diskutere disse metodene i detalj med enkle programmeringseksempler.
Hva du vil lære:
- ArrayList-metoder i Java
- ArrayList legge til
- ArrayList addAll
- ArrayList Legg til fronten
- Fjern ArrayList
- ArrayList removeAll
- ArrayList removeRange
- ArrayList størrelse (lengde)
- ArrayList inneholder
- ArrayList få
- ArrayList sett (Erstatt element)
- ArrayList klar
- ArrayList er tom
- ArrayList indexOf
- ArrayList lastIndexOf
- ArrayList toArray
- ArrayList-klone
- ArrayList-underliste
- ArrayList beholder alt
- ArrayList Iterator
- ArrayList listIterator
- Legg Array til ArrayList i Java
- Sorter ArrayList i Java
- Reverse An ArrayList In Java
- Fjern duplikater fra en ArrayList i Java
- Shuffle (randomiser) En ArrayList i Java
- ofte stilte spørsmål
- Konklusjon
ArrayList-metoder i Java
Tabellen nedenfor viser alle metodene som tilbys av ArrayList-klassen.
Metode | Metode Prototype | Metode Beskrivelse |
---|---|---|
Inneholder | boolsk inneholder (Objekt o) | Sjekker om listen inneholder det gitte elementet ‘o’. Returnerer sant hvis elementet er til stede. |
Legg til | boolsk tilsetning (E e) | Legger til gitt element e på slutten av listen. |
void add (int index, E element) | Legger til gitt element 'element' på den angitte posisjonen 'indeks'. | |
Legg til alle | boolsk addAll (samling c) | Legger til alle elementene i den gitte samlingen c til slutten av listen. |
boolsk addAll (int-indeks, samling c) | Legger til alle elementene i den gitte samlingen c på den posisjonen som er angitt av ‘indeksen’ i listen. | |
Klar | ugyldig klar () | Tømmer listen ved å fjerne alle elementene fra listen. |
Klon | Objektklon () | Lager en grunne kopi av den gitte ArrayList. |
sikre kapasitet | ugyldig sikre Kapasitet (int min Kapasitet) | Øker kapasiteten til ArrayList for å sikre at den har minCapacity. |
Få | E get (int-indeks) | Returnerer elementet i listen til stede på posisjonen spesifisert av 'indeks'. |
oversikt over | int indexOf (Objekt o) | Returnerer indeksen for den første forekomsten av element o i listen. -1 hvis element o ikke er til stede i listen. |
er tom | boolsk isEmpty () | Sjekker om listen er tom. |
Iterator | Iterator iterator () | Returnerer en iterator for å krysse over listeelementene i riktig rekkefølge. |
lastIndexOf | int lastIndexOf (Objekt o) | Returnerer indeksen for den siste forekomsten av det angitte elementet o i listen. -1 hvis elementet ikke er til stede i listen. |
listIterator | ListIterator listIterator () | Returnerer listeiteratoren for å krysse over elementene i den gitte listen. |
ListIterator listIterator (int index) | Returnerer listeiteratoren fra den angitte posisjonen 'indeks' for å krysse over elementene i den gitte listen. | |
ta vekk | E fjerne (int-indeks) | Sletter elementet ved 'indeksen' i ArrayList. |
boolsk fjerning (Objekt o) | Sletter den første forekomsten av element o fra listen. | |
Fjern alle | boolsk removeAll (samling c) | Fjerner alle elementene fra listen som samsvarer med elementene i gitt samling c. |
removeRange | beskyttet tomrom removeRange (int fraIndex, int tilIndex) | Fjerner elementer som er spesifisert i det gitte området, fraIndex (inkludert) tilIndex (eksklusiv) fra listen. |
beholder alt | boolean retainAll (Collection c) | Beholder elementene i listen som samsvarer med elementene i den gitte samlingen c. |
sett | E-sett (int-indeks, E-element) | Angir elementverdien ved gitt 'indeks' til den nye verdien gitt av 'element'. |
størrelse | int størrelse () | Returnerer det totale antallet elementer eller lengden på listen. |
underliste | Liste underliste (int fromIndex, int toIndex) | Returnerer en underliste mellom gitt område, fra index til index for den gitte listen. |
toArray | Objekt () toArray () | Konverterer den gitte listen til en matrise. |
T () toArray (T () a) | Konverterer den gitte listen til en matrise av typen gitt av a. | |
trimToSize | void trimToSize () | Trimmer ArrayList-kapasiteten til størrelsen eller antallet elementer som er tilstede i listen. |
Deretter vil vi diskutere hver av disse metodene fra ArrayList-funksjonens API i detalj og presentere programmeringseksempler. Etter å ha diskutert alle metodene som er oppført ovenfor, vil vi også ta opp noen spesifikke operasjoner som utføres ved hjelp av ArrayLists som ikke er en del av ArrayList function API.
ArrayList legge til
Jeg
Prototype: boolsk tilsetning (E e)
Parametere: e => Element som skal legges til i ArrayList.
Returverdi: true => Element er vellykket lagt til.
Beskrivelse: Legger til det gitte elementet e til slutten av listen.
II.
Prototype: void add (int index, E element)
Parametere:
indeks => Posisjon der elementet skal legges til.
Element => Element som skal legges til i ArrayList.
Returverdi: tomrom
Beskrivelse: Legger til gitt element 'element' i den angitte posisjonen 'indeks' ved å flytte elementet på den posisjonen og påfølgende elementer til høyre.
Unntak: IndexOutOfBoundsException => Hvis den angitte indeksen er utenfor området.
ArrayList addAll
Jeg
Prototype: boolsk addAll (samling c)
Parametere: c => Samling hvis elementer skal legges til ArrayList.
Returverdi: true => Hvis operasjonen har endret ArrayList.
hvordan lage en liste java
Beskrivelse: Legger til alle elementene i den gitte samlingen c til slutten av listen. Resultatet av operasjonen er udefinert hvis samlingen endres når operasjonen pågår.
Unntak: NullPointerException => Hvis gitt samling er c null.
II
Prototype: boolsk addAll (int-indeks, samling c)
Parametere: indeks => Posisjon der elementene i den gitte samlingen skal legges til.
Returverdi: true => Hvis listen er endret som et resultat av operasjonen.
Beskrivelse: Legger til alle elementene i den gitte samlingen c på den posisjonen som er angitt av ‘indeksen’ i listen. Elementet ved den spesifiserte indeksen og påfølgende elementer flyttes til høyre. Resultatet av operasjonen er udefinert hvis samlingen som legges til endres når operasjonen pågår.
Unntak: IndexOutOfBoundsException: hvis indeksen der samlingen skal legges til er utenfor grensene
NullPointerException: hvis den gitte samlingen c er null.
Følgende Java-program viser bruken av add og addAll-metoder.
import java.util.*; class Main{ public static void main(String args()){ //create an ArrayList ArrayList city_List=new ArrayList(); //add elements to the ArrayList using add method city_List.add('Delhi'); city_List.add('Mumbai'); city_List.add('Chennai'); city_List.add('Kolkata'); //print the list System.out.println('Initial ArrayList:' + city_List); //add an element at index 1 using add method overload city_List.add(1, 'NYC'); //print the list System.out.println('
rrayList after adding element at index 1:' + city_List); //define a second list ArrayList more_Cities = new ArrayList(Arrays.asList('Pune', 'Hyderabad')); //use addAll method to add the list to ArrayList at index 4 city_List.addAll(4,more_Cities); //print the list System.out.println('
ArrayList after adding list at index 4:' + city_List); } }
Produksjon:
Initial ArrayList: (Delhi, Mumbai, Chennai, Kolkata)
rrayList etter å ha lagt til element i indeks 1: (Delhi, NYC, Mumbai, Chennai, Kolkata)
ArrayList etter å ha lagt til liste i indeks 4: (Delhi, NYC, Mumbai, Chennai, Pune, Hyderabad, Kolkata)
Ovennevnte program bruker begge versjonene av add-metoden for å legge til elementer i listen. Det legger også til en samling i listen ved den angitte indeksen. Legg merke til forskyvningen av elementer til høyre for ArrayList, noe som fremgår av utgangen av programmet.
ArrayList Legg til fronten
Som allerede nevnt, legger den første versjonen av add-metoden elementene til slutten av listen. Hvis du vil legge til elementene i begynnelsen av ArrayList, må du bruke den andre versjonen av add-metoden. Denne add-metoden tar en indeks som parameter. Denne indeksen er posisjonen der elementet skal legges til.
Dermed for å legge til elementet i begynnelsen av listen, må du spesifisere indeksen som 0 som er starten på listen.
Det følgende programmet legger til et element på forsiden av ArrayList.
import java.util.ArrayList; public class Main { public static void main(String() args) { //define new ArrayList and initialize it ArrayList numList = new ArrayList(); numList.add(5); numList.add(7); numList.add(9); //print the ArrayList System.out.println('Initial ArrayList:'); System.out.println(numList); //use add method with index=0 to add elements to the beginning of the list numList.add(0, 3); numList.add(0, 1); System.out.println('ArrayList after adding elements at the beginning:'); //print ArrayList System.out.println(numList); } }
Produksjon:
Innledende matriseliste:
(5, 7, 9)
ArrayList etter å ha lagt til elementer i begynnelsen:
(1, 3, 5, 7, 9)
Fjern ArrayList
JEG.
Prototype: E fjerne (int-indeks)
Parametere: index => Posisjon der elementet skal fjernes fra ArrayList.
Returverdi: E => Element som slettes
Beskrivelse: Sletter element ved 'indeksen' i ArrayList og flytter påfølgende elementer til venstre.
Unntak: IndexOutOfBoundsException => Indeksen som er spesifisert er utenfor området.
II.
Prototype: boolsk fjerning (Objekt o)
Parametere: o => Element som skal fjernes fra ArrayList.
Returverdi: true => Hvis elementet er til stede i listen.
Beskrivelse: Sletter den første forekomsten av element o fra listen. Hvis elementet ikke er til stede i listen, er det ingen effekt av denne operasjonen. Når elementet er slettet, flyttes de påfølgende elementene til venstre.
ArrayList removeAll
Prototype: boolsk removeAll (samling c)
Parametere: c => Samling hvis elementer samsvarer med elementene i ArrayList og skal fjernes.
Returverdi: true => Hvis ArrayList endres av operasjonen.
Beskrivelse: Fjerner alle elementene fra listen som samsvarer med elementene i den gitte samlingen c. Som et resultat blir elementene som er igjen flyttet til venstre på listen.
Unntak: ClassCastException => Klassen er ikke den samme som den spesifiserte samlingen, noe som innebærer at klassen er inkompatibel.
NullPointerException => Hvis den gitte samlingen c er null; eller hvis c har et null-element og det ikke er tillatt av samlingen.
ArrayList removeRange
Prototype: beskyttet tomrom removeRange (int fraIndex, int tilIndex)
Parametere: fromIndex => Indeks over startelementet i området som skal fjernes.
toIndex => Indeks over elementet etter det siste elementet i området som skal fjernes.
Returverdi: tomrom
Beskrivelse: Fjerner elementer som er spesifisert i det gitte området, fraIndex (inkludert) tilIndex (eksklusiv) fra listen. Denne operasjonen forkorter lengden på listen med (toIndex-fromIndex). Denne operasjonen har ingen effekt i tilfelle fromIndex = toIndex.
Unntak: IndexOutOfBoundsException => Hvis noen av indeksene (fraIndex eller toIndex) er utenfor grensene.
La oss implementere et Java-program for å demonstrere noen av disse fjerningsmetodene som vi diskuterte ovenfor.
import java.util.*; class Main{ public static void main(String args()){ //create an ArrayList ArrayList city_List=new ArrayList(Arrays.asList('Delhi','Mumbai','Chennai', 'Kolkata', 'Pune', 'Hyderabad')); //print the list System.out.println('Initial ArrayList:' + city_List); //remove element at index 2 city_List.remove(2); //print the list System.out.println('
ArrayList after removing element at index 2:' + city_List); //remove the element 'Kolkata' city_List.remove('Kolkata'); //print the list System.out.println('
ArrayList after removing element -> Kolkata:' + city_List); //create new list ArrayList newCities=new ArrayList(Arrays.asList('Delhi','Hyderabad')); //call removeAll to remove elements contained in newCities list. city_List.removeAll(newCities); //print the list System.out.println('
ArrayList after call to removeAll:' + city_List); } }
Produksjon:
Initial ArrayList: (Delhi, Mumbai, Chennai, Kolkata, Pune, Hyderabad
ArrayList etter fjerning av element i indeks 2: (Delhi, Mumbai, Kolkata, Pune, Hyderabad)
ArrayList etter fjerning av element -> Kolkata: (Delhi, Mumbai, Pune, Hyderabad)
ArrayList etter samtale for å fjerneAlle: (Mumbai, Pune)
ArrayList størrelse (lengde)
Prototype: int størrelse ()
Parametere: NIL
Returverdi: int => Antall elementer i ArrayList.
Beskrivelse: Returnerer det totale antallet elementer eller lengden på ArrayList.
Sørg for kapasitet
Prototype: ugyldig sikre Kapasitet (int min Kapasitet)
Parametere: minCapacity => Minimum kapasitet som ønskes for ArrayList.
Returverdi: tomrom
Beskrivelse: Øker kapasiteten til ArrayList for å sikre at den har minCapacity.
trimToSize
Prototype: void trimToSize ()
Parametere: NIL
Returverdi: tomrom
Beskrivelse: Trimmer ArrayList-kapasiteten til størrelsen eller antallet elementer som er tilstede i listen.
Programmeringseksemplet nedenfor viser metodestørrelse (), sikreCapacity () og trimToSize ().
import java.util.ArrayList; public class Main { public static void main(String () args) { //Create and initialize Arraylist ArrayList evenList=new ArrayList(5); System.out.println('Initial size: '+evenList.size()); evenList.add(2); evenList.add(4); evenList.add(6); evenList.add(8); evenList.add(10); //print the list and size System.out.println('Original List: ' + evenList); System.out.println('ArrayList Size after add operation: '+evenList.size()); //call ensureCapacity () with minimum capacity =10 evenList.ensureCapacity(10); //add two more elements evenList.add(12); evenList.add(14); //print the size again System.out.println('ArrayList Size after ensureCapacity() call and add operation: '+evenList.size()); //call trimToSize() evenList.trimToSize(); //print the size and the ArrayList System.out.println('ArrayList Size after trimToSize() operation: '+evenList.size()); System.out.println('ArrayList final: '); for(int num: evenList){ System.out.print(num + ' '); } } }
Produksjon:
Opprinnelig størrelse: 0
Opprinnelig liste: (2, 4, 6, 8, 10)
ArrayList-størrelse etter tilsetningsoperasjon: 5
ArrayList-størrelse etter sureCapacity () ring og legg til operasjon: 7
ArrayList Size etter trimToSize () operasjon: 7
ArrayList-finale:
2 4 6 8 10 12 14
ArrayList inneholder
Prototype: boolsk inneholder (Objekt o)
Parametere: o => Element som skal kontrolleres hvis det finnes i ArrayList.
Returverdi: true => Hvis ArrayList inneholder element o.
Beskrivelse: Sjekker om listen inneholder det gitte elementet ‘o’. Returnerer sant hvis elementet er til stede.
Vi bruker ‘inneholder’ metoden i det følgende programmet.
import java.util.ArrayList; public class Main { public static void main(String() args) { //create and initialize colorsList ArrayList colorsList = new ArrayList(); colorsList.add('Red'); colorsList.add('Green'); colorsList.add('Blue'); colorsList.add('White'); //call contains method to check if different strings are present in ArrayList System.out.println('ArrayList contains ('Red Green'): ' +colorsList.contains('Red Green')); System.out.println('ArrayList contains ('Blue'): ' +colorsList.contains('Blue')); System.out.println('ArrayList contains ('Yellow'): ' +colorsList.contains('Yellow')); System.out.println('ArrayList contains ('White'): ' +colorsList.contains('White')); } }
Produksjon:
ArrayList inneholder (‘Red Green’): false
ArrayList inneholder (‘Blue’): true
ArrayList inneholder (‘Yellow’): false
ArrayList inneholder (‘Hvit’): sant
Som vist i utdataene ovenfor, kontrollerer ‘inneholder’ metoden om argumentet som er oppgitt er til stede i ArrayList og returnerer sant eller usant.
ArrayList få
Prototype: E get (int-indeks)
Parametere: indeks => Indeks der elementet skal hentes fra ArrayList.
Returverdi: E => Elementverdi ved den gitte indeksen i ArrayList.
Beskrivelse: Returnerer elementet i listen til stede på posisjonen spesifisert av 'indeks'.
Unntak: IndexOutOfBoundsException => Hvis indeksen er utenfor grensene.
ArrayList sett (Erstatt element)
Prototype: E-sett (int-indeks, E-element)
Parametere: indeks => Indeks der elementet skal byttes ut.
Element => Nytt element som skal settes til den spesifiserte indeksen.
Returverdi: E => Element som erstattes av settoperasjonen.
Beskrivelse: Setter elementverdien ved den gitte 'indeksen' til den nye verdien gitt av 'elementet'.
Unntak: IndexOutOfBoundsException => Hvis indeksen er utenfor grensene
Java-programmet nedenfor bruker get () og set () -metoden for å hente og erstatte verdier i ArrayList.
import java.util.ArrayList; public class Main { public static void main(String() args) { //create and initialize colorsList ArrayList colorsList = new ArrayList(); colorsList.add('Red'); colorsList.add('Green'); colorsList.add('Blue'); colorsList.add('White'); //call get () method to retrieve value at index 2 System.out.println('Entry at index 2 before call to set: ' + colorsList.get(2)); //replace the value at index 2 with new value colorsList.set(2,'Yellow'); //print the value at index 2 again System.out.println('Entry at index 2 after call to set: ' + colorsList.get(2)); } }
Produksjon:
Oppføring på indeks 2 før samtale for å stille: Blå
Oppføring på indeks 2 etter samtale for å stille: Gul
beste pc-rengjøringsmiddel for Windows 7
ArrayList klar
Prototype: ugyldig klar ()
Parametere: NIL
Returverdi: tomrom
Beskrivelse: Tømmer listen ved å fjerne alle elementene fra listen.
ArrayList er tom
Prototype: boolsk isEmpty ()
Parametere: NIL
Returverdi: true => hvis listen er tom
Beskrivelse: Sjekker om listen er tom.
Clear () og isEmpty () -funksjonene vises nedenfor.
import java.util.ArrayList; public class Main { public static void main(String() args) { //create and initialize colorsList ArrayList colorsList = new ArrayList(); colorsList.add('Red'); colorsList.add('Green'); colorsList.add('Blue'); colorsList.add('White'); //print the ArrayList System.out.println('The ArrayList: ' + colorsList); //call clear() nethod on ArrayList colorsList.clear(); //check if ArrayList is empty using isEmpty() method System.out.println('Is ArrayList empty after clear ()? :' + colorsList.isEmpty()); } }
Produksjon:
ArrayList: (Rød, grønn, blå, hvit)
Er ArrayList tom etter clear ()? :ekte
ArrayList indexOf
Prototype: int indexOf (Objekt o)
Parametere: o => Element hvis indeks er å finne i ArrayList.
Returverdi: int => Indeks for den første forekomsten av elementet i listen.
Beskrivelse: Returnerer indeksen for den første forekomsten av elementet o i listen. -1 hvis elementet o ikke er til stede i listen.
ArrayList lastIndexOf
Prototype: int lastIndexOf (Objekt o)
Parametere: o => Elementet det skal søkes etter.
Returverdi: int => Indeks for den siste forekomsten av elementet i listen.
Beskrivelse: Returnerer indeksen for den siste forekomsten av det angitte elementet o i listen. -1 hvis elementet ikke er til stede i listen.
Java-programmet nedenfor viser indexOf og lastIndexOf metodene til ArrayList.
import java.util.ArrayList; public class Main { public static void main(String() args) { //create and initialize intList ArrayList intList = new ArrayList(); intList.add(1); intList.add(1); intList.add(2); intList.add(3); intList.add(5); intList.add(3); intList.add(2); intList.add(1); intList.add(1); //print the ArrayList System.out.println('The ArrayList: ' + intList); //call indexOf() and lastIndexOf() methods to check the indices of specified elements System.out.println('indexOf(1) : ' + intList.indexOf(1)); System.out.println('lastIndexOf(1) : ' + intList.lastIndexOf(1)); System.out.println('indexOf(2) : ' + intList.indexOf(2)); System.out.println('lastIndexOf(2) : ' + intList.lastIndexOf(2)); System.out.println('indexOf(3) : ' + intList.indexOf(3)); System.out.println('lastIndexOf(3) : ' + intList.lastIndexOf(3)); System.out.println('indexOf(5) : ' + intList.indexOf(5)); System.out.println('lastIndexOf(5) : ' + intList.lastIndexOf(5)); } }
Produksjon:
ArrayList: (1, 1, 2, 3, 5, 3, 2, 1, 1)
indexOf (1): 0
lastIndexOf (1): 8
indexOf (2): 2
lastIndexOf (2): 6
indexOf (3): 3
lastIndexOf (3): 5
indexOf (5): 4
lastIndexOf (5): 4
ArrayList toArray
Prototype: Objekt () toArray ()
Parametere: NIL
Returverdi: Objekt () => en matrise. Denne returnerte matrisen inneholder alle elementene i listen i riktig rekkefølge.
Beskrivelse: Konverterer den gitte listen til en matrise.
Prototype: T () toArray (T () a)
Parametere: a => Array for å lagre elementer på listen. Hvis størrelsen på matrisen ikke er nok for listeelementer, opprettes en annen matrise med samme type som a for lagring av elementer.
Returverdi: T () => Matrise som inneholder alle listeelementene.
Beskrivelse: Konverterer den gitte listen til en matrise av typen gitt av a.
Unntak: ArrayStoreException => Hvis det ikke er samsvar i kjøretidstypen til matrisen og kjøretidstypen eller supertypen på elementene.
NullPointerException => Den gitte matrisen er null
Java-programmet nedenfor viser toArray-metoden til ArrayList.
import java.util.*; public class Main { public static void main(String() args) { // define and initialize ArrayList ArrayList intList = new ArrayList(); intList.add(10); intList.add(20); intList.add(30); intList.add(40); intList.add(50); // print ArrayList System.out.println('ArrayList: ' + intList); //declare array Integer myArray() = new Integer(intList.size()); //use toArray method to convert ArrayList to Array myArray = intList.toArray(myArray); //print the Array System.out.println('Array from ArrayList:' + Arrays.toString(myArray)); } }
Produksjon:
ArrayList: (10, 20, 30, 40, 50)
Array fra ArrayList: (10, 20, 30, 40, 50)
ArrayList-klone
Prototype: Objektklon ()
Parametere: NIL
Returverdi: Objekt => Klon av ArrayList-forekomsten.
Beskrivelse: Lager en grunne kopi av den gitte ArrayList.
import java.util.ArrayList; public class Main { public static void main(String a()){ ArrayList fruitsList = new ArrayList(); //Adding elements to the ArrayList fruitsList.add('Apple'); fruitsList.add('Orange'); fruitsList.add('Melon'); fruitsList.add('Grapes'); System.out.println('Original ArrayList: '+fruitsList); ArrayList clone_list = (ArrayList)fruitsList.clone(); System.out.println('Cloned ArrayList: '+ clone_list); //add one elmeent & remove one element from original arraylist fruitsList.add('Mango'); fruitsList.remove('Orange'); //print original and cloned ArrayList again System.out.println('
Original ArrayList after add & remove:'+fruitsList); System.out.println('Cloned ArrayList after original changed:'+clone_list); } }
Produksjon:
Original ArrayList: (Apple, Orange, Melon, Druer)
Cloned ArrayList: (Apple, Orange, Melon, Druer)
Original ArrayList etter legg til & fjern: (Apple, Melon, Druer, Mango)
Cloned ArrayList etter originalen endret: (Apple, Orange, Melon, Druer)
Fra ovennevnte programutgang kan du se at den klonede ArrayList er en grunne kopi av den originale ArrayList. Dette betyr at når den originale ArrayList endres, gjenspeiles ikke disse endringene i den klonede ArrayList da de ikke deler minneplasseringene til hvert element.
For å lage en dyp kopi av Array, må den originale ArrayListen krysses, og hvert av elementene må kopieres til destinasjonen ArrayList.
ArrayList-underliste
Prototype: Liste underliste (int fromIndex, int toIndex)
Parametere: fromIndex => Startindeks for området (inkludert)
toIndex => Sluttindeks for området (eksklusiv)
Returverdi: Liste => Underliste over listen i det gitte området.
Beskrivelse: Returnerer en underliste mellom et gitt område, fra index til indeks for den gitte listen. Merk at denne underlisten eller visningen av listen i det gitte området støtter alle operasjoner som støttes av listen. Ingen visning returneres hvis fraIndex = tilIndex.
Unntak: IndexOutOfBoundsException => Kastet når toIndex er utenfor rekkevidde.
IllegalArgumentException => Hvis fraIndex> tilIndex dvs. indekser er ute av drift.
La oss se et eksempel på subList-metoden.
import java.util.ArrayList; import java.util.List; class Main{ public static void main(String a()){ //create and initialize the ArrayList ArrayList intList = new ArrayList(); intList.add(5); intList.add(10); intList.add(15); intList.add(20); intList.add(25); intList.add(30); intList.add(35); intList.add(40); intList.add(45); intList.add(50); //print the ArrayList System.out.println('Original ArrayList: '+intList); //create a sublist for the given ArrayList ArrayList sub_ArrayList = new ArrayList(intList.subList(2, 6)); //print the sublist System.out.println('Sublist of given ArrayList: '+sub_ArrayList); } }
Produksjon:
Original ArrayList: (5, 10, 15, 20, 25, 30, 35, 40, 45, 50)
Underliste over gitt ArrayList: (15, 20, 25, 30)
ArrayList beholder alt
Prototype: boolean retainAll (Collection c)
Parametere: c => Samling med elementer som skal beholdes i listen.
Returverdi: true => Hvis ArrayList endret seg som et resultat av operasjonen.
Beskrivelse: Beholder elementene i listen som samsvarer med elementene i den gitte samlingen c.
Unntak: ClassCastException => Samlingstypen og listetypen stemmer ikke overens
NullPointerException => Gitt samling er null eller listen inneholder null element og samling tillater ikke null.
Følgende program demonstrerer retainAll-metoden.
import java.util.*; class Main{ public static void main(String args()){ //create and initialize ArrayList ArrayList colorsList=new ArrayList(); colorsList.add('Red'); colorsList.add('Green'); colorsList.add('Blue'); colorsList.add('Yellow'); //print the ArrayList System.out.println('Original ArrayList:' + colorsList); //define another collection ArrayList color_collection=new ArrayList(); color_collection.add('Red'); color_collection.add('Blue'); System.out.println('Collection elements to be retained in the list:' + color_collection); //call retainAll method with above collection as an argument colorsList.retainAll(color_collection); //print the ArrayList after retainAll call. System.out.println('ArrayList after retainAll call:' + colorsList); } }
Produksjon:
Original ArrayList: (Rød, grønn, blå, gul)
Samlingselementer som skal beholdes i listen: (Rød, Blå)
ArrayList after retainAll call: (Red, Blue)
ArrayList Iterator
Prototype: Iterator iterator ()
Parametere: NIL
Returverdi: Iterator => iterator over listeelementene.
Beskrivelse: Returnerer en iterator for å krysse over listeelementene i riktig rekkefølge.
ArrayList listIterator
JEG.
Prototype: ListIterator listIterator ()
Parametere: NIL
Returverdi: ListIterator => listIterator over listeelementene.
Beskrivelse: Returnerer listeiteratoren for å krysse over elementene i den gitte listen.
II.
Prototype: ListIterator listIterator (int index)
Parametere: index => Plassering av det første elementet i listIterator.
Returverdi: ListIterator => ListIterator for listen fra spesifisert indeks.
Beskrivelse: Returnerer listeiteratoren fra den angitte posisjonen 'indeks' for å krysse over elementene i den gitte listen.
Unntak: IndexOutOfBoundsException => Gitt indeks er utenfor rekkevidde.
Eksempel på iterator () og listIterator () metoder.
import java.util.*; class Main{ public static void main(String args()){ //create ArrayList and initialize it ArrayList cities=new ArrayList(); cities.add('Mumbai'); cities.add('Pune'); cities.add('Hyderabad'); cities.add('Delhi'); //use iterator() method to traverse through the list System.out.println('List contents using Iterator () method:'); Iterator iter=cities.iterator(); while(iter.hasNext()){ System.out.print(iter.next() + ' '); } //use listIterator() method to traverse through the list System.out.println('
List contents using listIterator () method:'); ListIterator list_iter=cities.listIterator(); while(list_iter.hasNext()) { System.out.print(list_iter.next() + ' '); } } }
Produksjon:
Liste innhold ved hjelp av Iterator () -metoden:
Mumbai Pune Hyderabad Delhi
Liste innhold ved hjelp av listIterator () metode:
Mumbai Pune Hyderabad Delhi
Legg Array til ArrayList i Java
ArrayList støtter addAll-metoden for å legge til elementer i samlingen til ArrayList. På en lignende måte kan du også legge til en Array i ArrayList. Dette gjøres ved hjelp av 'Collections.addAll' -metoden.
Eksempel på å legge til en Array i ArrayList.
import java.util.*; class Main{ public static void main(String args()){ //create an ArrayList ArrayList city_List=new ArrayList(); //add elements to the ArrayList using add method city_List.add('Delhi'); city_List.add('Mumbai'); city_List.add('Chennai'); city_List.add('Kolkata'); //print ArrayList System.out.println('
Initial ArrayList :' + city_List); //define an array. String() myArray = new String(){'Cochin', 'Goa'}; //add the array to the ArrayList Collections.addAll(city_List,myArray); //print the ArrayList System.out.println('
ArrayList after adding array :' + city_List); } }
Produksjon:
Initial ArrayList: (Delhi, Mumbai, Chennai, Kolkata)
ArrayList etter å ha lagt til array: (Delhi, Mumbai, Chennai, Kolkata, Cochin, Goa)
Sorter ArrayList i Java
ArrayList bruker metoden Collections.sort for å sortere elementene. Som standard er listen sortert i stigende rekkefølge etter Collections.sort-metoden. Hvis ArrayList skal sorteres i synkende rekkefølge, må du gi ‘Collections.reverseOrder ()’ en parameter til sorteringsmetoden.
Nedenfor er et program for å sortere en ArrayList i stigende og synkende rekkefølge:
import java.util.*; public class Main { public static void main(String args()){ //Create and initialize an ArrayList ArrayList colorsList = new ArrayList(); colorsList.add('Red'); colorsList.add('Green'); colorsList.add('Blue'); colorsList.add('Yellow'); //print initial ArrayList System.out.println('Initial ArrayList:' + colorsList); //sort ArrayList in ascending order Collections.sort(colorsList); //print sorted ArrayList System.out.println('
ArrayList sorted in ascending order:'); System.out.println(colorsList); //sort ArrayList in reverse(desending) order Collections.sort(colorsList, Collections.reverseOrder()); //print sorted list System.out.println('
ArrayList sorted in descending order:'); System.out.println(colorsList); } }
Produksjon:
Initial ArrayList: (Rød, grønn, blå, gul)
ArrayList sortert i stigende rekkefølge:
(Blå, Grønn, Rød, Gul)
ArrayList sortert i synkende rekkefølge:
(Gul, Rød, Grønn, Blå)
I tilfelle ArrayList inneholder andre klasseobjekter som elementer, kan du benytte deg av sammenlignbare og komparatorgrensesnitt. Mer informasjon om grensesnitt vil bli dekket i våre senere opplæringsprogrammer.
Reverse An ArrayList In Java
Du kan også reversere en ArrayList i Java. En metode for å gjøre dette er å bruke den tradisjonelle metoden for å krysse ArrayList i omvendt rekkefølge og kopiere hvert element til en ny ArrayList.
En annen metode er å bruke samlingsklassen som gir 'revers' -metoden som brukes til å reversere en samling.
hvor kan du se anime online gratis
Programmet for å reversere en ArrayList ved hjelp av Collection-klassen er gitt nedenfor.
import java.io.*; import java.util.*; public class Main { public static void main(String() args) { // create and initialize an ArrayList ArrayList oddList = new ArrayList(); oddList.add(1); oddList.add(3); oddList.add(5); oddList.add(7); oddList.add(9); System.out.print('Initial ArrayList: ' + oddList); // use Collections.reverse method to reverse the ArrayList Collections.reverse(oddList); //print the ArrayList System.out.print('
Reversed ArrayList: ' + oddList); } }
Produksjon:
Innledende matriseliste: (1, 3, 5, 7, 9)
Omvendt ArrayList: (9, 7, 5, 3, 1)
Fjern duplikater fra en ArrayList i Java
For å fjerne duplikater fra ArrayList, kan du igjen ty til den tradisjonelle metoden for å bruke en iterator til å krysse gjennom ArrayList og lagre bare den første forekomsten av elementet i en annen ArrayList.
Nok en metode er å bruke 'distinkte ()' metoden for stream () klasse. Denne metoden returnerer en strøm av forskjellige elementer. Stream () -funksjonen er tilgjengelig i Java fra Java 8 og utover.
Implementeringen av stream () .distinct () -metoden er gitt nedenfor:
import java.util.*; import java.util.stream.Collectors; public class Main { public static void main(String() args) { // Create an ArrayList of numbers ArrayList numList = new ArrayList (Arrays.asList(1, 2, 3, 1, 3, 5, 5, 6, 6, 7, 7, 8, 8)); //print the original ArrayList System.out.println('Original ArrayList:' + numList); //Use Java 8 stream().distinct() method to remove duplicates from the list List distinctList = numList.stream().distinct().collect(Collectors.toList()); //print the new list System.out.println('ArrayList without duplicates:' + distinctList); } }
Produksjon:
Original ArrayList: (1, 2, 3, 1, 3, 5, 5, 6, 6, 7, 7, 8, 8)
ArrayList uten duplikater: (1, 2, 3, 5, 6, 7, 8)
Shuffle (randomiser) En ArrayList i Java
Du kan også 'blande' eller randomisere ArrayList-elementene. Dette gjøres ved hjelp av Collections.shuffle () -metoden. Ved å bruke denne metoden kan du enten blande ArrayList med standardinnstillinger eller gi en tilfeldig () funksjon som vil randomisere elementene i henhold til tilfeldig verdi.
Et Java-program for å oppnå dette er gitt nedenfor.
import java.util.*; public class Main { public static void main(String() args) { //create and initialize a String ArrayList ArrayList strlist = new ArrayList(); strlist.add('east'); strlist.add('west'); strlist.add('north'); strlist.add('south'); strlist.add('southwest'); strlist.add('northeast'); //print the original list System.out.println('Original ArrayList :
' + strlist); //shuffle the ArrayList without random function Collections.shuffle(strlist); System.out.println('
Shuffled ArrayList without Random() :
' + strlist); // shuffle the ArrayList with random() function Collections.shuffle(strlist, new Random()); System.out.println('
Shuffled ArrayList with Random() :
' + strlist); // use random (2) to shuffle the ArrayList Collections.shuffle(strlist, new Random(2)); System.out.println('
Shuffled ArrayList with Random(2) :
' + strlist); } }
Produksjon:
Opprinnelig ArrayList: (øst, vest, nord, sør, sørvest, nordøst) Tilfeldig ArrayList uten tilfeldig (): (nord, nordøst, øst, sørvest, sør, vest)
Shuffled ArrayList with Random (): (sør, øst, nord, nordøst, vest, sørvest)
Blandet ArrayList med tilfeldig (2): (sørvest, sør, øst, nordøst, nord, vest)
ofte stilte spørsmål
Q # 1) Hva er forskjellen mellom homogene og heterogene containere i Java?
Svar: Homogene beholdere inneholder gjenstander / elementer av samme type. På den annen side har heterogene beholdere gjenstander av blandet type.
Q # 2) Er ArrayList i Java heterogen?
Svar: Ja. Siden ArrayLists støtter generikk og derfor skriver sletting, kan den inneholde blandede objekter når de implementeres som en generisk ArrayList.
Q # 3) Kan ArrayList lagre int?
Svar: Nei. ArrayLists kan ikke lagre verdier som int, men det kan lagre Integer-objekter, ettersom ArrayLists bare kan inneholde objekter. For å lagre primitive typer, bør du bruke omslagsklasser som Integer for ints.
Q # 4) Hva skjer når ArrayList er full?
Svar: Hvert ArrayList-objekt har en funksjon som heter ‘kapasitet’. Når ArrayList er full, øker kapasiteten til ArrayList automatisk for å gi plass til flere elementer.
Q # 5) Hva er forskjellen mellom metoden removeAll og retainAll i ArrayList?
Svar: ArrayList-metodene ‘removeAll’ og ‘retainAll’ viser motsatt oppførsel.
Mens removeAll-metoden fjerner alle elementene fra listen som samsvarer med samlingen som er sendt som et argument til denne metoden, beholder retainAll derimot alle elementene i listen som samsvarer med den i samlingen.
Konklusjon
I denne opplæringen har vi diskutert ArrayList-metoder i detalj med et eksempel.
Vi har også vurdert noen spesielle tilfeller som å legge til elementer foran på listen. Vi diskuterte også andre operasjoner på ArrayList som sortering, reversering og blanding av ArrayList.
I vår kommende opplæring vil vi diskutere noen av ArrayList-konverteringene.
=> Se opp den enkle Java-treningsserien her.
Anbefalt lesing
- Java Reflection Tutorial med eksempler
- Java String Tutorial | Java strengmetoder med eksempler
- Java-listemetoder - Sorteringsliste, Inneholder, Legg til liste, Fjern liste
- Java ArrayList - Hvordan erklære, initialisere og skrive ut en ArrayList
- Java ArrayList-konverteringer til andre samlinger
- Java SWING Tutorial: Container, Components and Event Handling
- Omvend en matrise i Java - 3 metoder med eksempler
- JAVA-opplæring for nybegynnere: 100+ praktiske Java-videoveiledninger