java list methods sort list
Ovaj vodič objašnjava razne metode Java popisa, poput Poređaj, Popis sadrži, Popis dodaj, Ukloni popis, Veličina popisa, Dodaj sve, Ukloni sve, Obrni popis i više:
O sučelju popisa već smo raspravljali općenito u našem prethodnom vodiču. Sučelje popisa ima razne metode koje se koriste za manipulaciju sadržajem popisa. Pomoću ovih metoda možete umetnuti / izbrisati, razvrstati i pretraživati elemente na popisu.
U ovom uputstvu razmotrit ćemo sve metode koje pruža sučelje popisa.
=> Ovdje pogledajte kako biste ovdje vidjeli A-Z Java Vodiča za obuku.
Da bi se kretalo kroz popis, sučelje popisa koristi iterator popisa. Ovaj iterator popisa proteže se od sučelja iteratora. U našem sljedećem vodiču istražit ćemo više o iteratoru popisa.
Što ćete naučiti:
- Metode popisa u Javi
- Ukloni duplikate sa popisa na Javi
- Često postavljana pitanja
- Zaključak
- Preporučena literatura
Metode popisa u Javi
Sljedeća tablica prikazuje razne funkcije koje pruža sučelje popisa u Javi.
Metoda popisa | Prototip metode | Opis |
---|---|---|
sadrži | boolean sadrži (objekt o) | Provjerava je li navedeni element prisutan na popisu i vraća true ako postoji |
veličina | veličina int () | Vraća veličinu popisa, tj. Broj elemenata na popisu ili duljinu popisa. |
čisto | void clear () | Brisanje popisa uklanjanjem svih elemenata s popisa |
dodati | void add (int indeks, element objekta) | Dodaje zadani element na popis uz zadani indeks |
logičko dodavanje (objekt o) | Dodaje dati element na kraj popisa | |
Dodaj Sve | boolean addAll (Zbirka c) | Dodaje cijelu zadanu zbirku na kraj popisa |
logički addAll (indeks int, zbirka c) | Umeće zadanu kolekciju (sve elemente) na popis s navedenim indeksom | |
sadržiSve | boolean containsAll (Zbirka c) | Provjerava je li navedena zbirka (svi elementi) dio popisa. Vraća se da. |
jednako | boolean jednako (Objekt o) | Uspoređuje navedeni objekt radi jednakosti s elementima popisa |
Dobiti | Object get (int indeks) | Vraća element na popisu navedenom indeksom |
hashCode | int hashCode () | Vraća vrijednost hash koda Popisa. |
indexOf` | int indexOf (objekt o) | Pronalazi prvu pojavu ulaznog elementa i vraća njegov indeks |
prazno je | logički isEmpty () | Provjerava je li popis prazan |
lastIndexOf | int lastIndexOf (objekt o) | Pronalazi posljednju pojavu ulaznog elementa na popisu i vraća njegov indeks |
ukloniti | Ukloni objekt (indeks int) | Uklanja element po navedenom indeksu |
logičko uklanjanje (objekt o) | Uklanja element pri prvom pojavljivanju na popisu | |
ukloniti sve | boolean removeAll (Zbirka c) | S popisa uklanja sve elemente sadržane u navedenoj zbirci |
zadržiSve | boolean retainAll (Zbirka c) | Suprotno od removeAll. Zadržava element naveden u zbirci unosa na popisu. |
Postavi | Skup objekata (indeks int, element objekta) | Mijenja element na navedenom indeksu postavljanjem na navedenu vrijednost |
podlista | Lista popisa (int fromIndex, int toIndex) | Vraća podlist elemenata između fromIndex (uključujući) i toIndex (ekskluzivno). |
vrsta | sortiranje praznina (komparator c) | Razvrstava element popisa prema navedenom usporedniku dajući poredani popis |
toArray | Objekt () uArray () | Vraća prikaz niza u nizu |
Object () toArray (Object () a) | Vraća prikaz niza čiji je tip izvedbe jednak navedenom argumentu niza | |
iterator | Iterator iterator () | Vraća Iterator za popis |
listIterator | ListIterator listIterator () | Vraća ListIterator za popis |
ListIterator listIterator (int indeks) | Vraća ListIterator počevši od navedenog indeksa na popisu |
Dalje ćemo razgovarati o tim funkcijama zajedno s njihovim primjerima.
veličina
Prototip: veličina int ()
Parametri: NULA
Povratna vrijednost: int => Broj elemenata na popisu ili drugim riječima duljina popisa.
Opis: Veličina () vraća broj elemenata ili veličinu popisa. Jednostavno se to može nazvati i dužinom.
čisto
Prototip: void clear ()
Parametri: NULA
Povratna vrijednost: Nema povratne vrijednosti
Opis: Brisanje popisa uklanjanjem svih elemenata popisa. Baca “UnSupportedException” ako popis ne podržava operaciju.
Sljedeći će primjer prikazati metodu size () i clear ().
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); } }
Izlaz:
dodati
Prototip: void add (int indeks, element objekta)
Parametri: indeks - položaj na kojem treba dodati element.
Element - element koji se dodaje
Povratna vrijednost: poništiti
Opis: Dodaje zadani element na popis uz zadani indeks. Sljedeći elementi pomaknuti su udesno.
Izbačene su sljedeće iznimke:
IndexOutOfBoundsException: Indeks popisa je izvan dosega
UnsupportedOperationException: Popis ne podržava operaciju dodavanja.
ClassCastException: Element se ne može dodati na popis zbog klase navedenih elemenata.
IllegalArgumentException: Navedeni element ili neki aspekt nije točan.
Dodati
Prototip: logičko dodavanje (objekt o)
Parametri: o => Element koji se dodaje na popis
Povratna vrijednost: true => Element je uspješno dodan
False => Dodavanje nije uspješno
Opis: Ova metoda dodaje zadani element na kraj popisa.
Ova operacija može izbaciti sljedeće iznimke.
UnsupportedOperationException: Dodaj operaciju koju ovaj popis ne podržava.
ClassCastException: Navedeni element nije moguće dodati zbog svoje klase
IllegalArgumentException: Navedeni element ili neki aspekt nije točan.
Dodaj Sve
Prototip: boolean addAll (Zbirka c)
Parametri: c => Zbirka čiji se elementi dodaju na popis
Povratna vrijednost: true => Izvršenje metode uspješno
Opis: Metoda addAll uzima sve elemente iz zbirke c i dodaje ih na kraj popisa održavajući poredak koji je postavljen.
Ova metoda pokazuje nespecificirano ponašanje ako je zbirka izmijenjena dok je operacija u tijeku.
Metoda donosi sljedeće iznimke:
UnsupportedOperationException: Dodaj operaciju koju ovaj popis ne podržava.
ClassCastException: Navedeni element nije moguće dodati zbog svoje klase.
IllegalArgumentException: Navedeni element ili neki aspekt nije točan.
Dodaj Sve
Prototip: logički addAll (indeks int, zbirka c)
Parametri: indeks => Položaj na kojem treba umetnuti zbirku.
C => Zbirka koju treba umetnuti na popis.
Povratna vrijednost: true => Ako su elementi zbirke uspješno dodani na popis.
Opis: Metoda addAll ubacuje sve elemente u navedenoj zbirci na popis s navedenim indeksom. Sljedeći se elementi zatim pomiču udesno. Kao u slučaju prethodnog preopterećenja addAll, ponašanje je nespecificirano ako je zbirka promijenjena dok je operacija u tijeku.
Iznimke koje donosi ova metoda su:
UnsupportedOperationException: Dodaj operaciju koju ovaj popis ne podržava.
ClassCastException: Navedeni element nije moguće dodati zbog svoje klase.
IllegalArgumentException: Navedeni element ili neki aspekt nije točan.
IndexOutOfBoundsException: Indeks izvan dosega.
Program u nastavku prikazuje demonstraciju metoda add i addAll sa popisa.
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); } }
Izlaz:
sadrži
Prototip: boolean sadrži (objekt o)
Parametri: o => Element koji se traži na popisu.
Povratna vrijednost: true => Ako popis sadrži navedeni element.
Opis: Metoda 'sadrži' provjerava je li navedeni element prisutan na popisu i vraća logičku vrijednost true ako je element prisutan. U suprotnom, vraća se false.
sadržiSve
Prototip: boolean containsAll (Zbirka c)
Parametri: c => Zbirka koja se traži na popisu.
Povratna vrijednost: true => Ako su svi elementi u navedenoj zbirci prisutni na popisu.
Opis: Metoda “containsAll” provjerava jesu li svi elementi prisutni u navedenoj zbirci prisutni na popisu. Ako je prisutan, vraća pravu vrijednost, a u suprotnom false.
Sljedeći Java program prikazuje upotrebu metoda 'contains' i 'containsAll' s popisa.
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''); } }
Izlaz:
Navedeni popis sadrži niz 'Java', ali ne i niz 'C'
Popis sadrži nizove 'Ruby' i 'Python'
jednako
Prototip: boolean jednako (Objekt o)
Parametri: o => Objekt koji se testira na jednakost.
Povratna vrijednost: true => Ako je zadani objekt jednak popisu.
Opis: Ovom se metodom uspoređuje zadani objekt s popisom jednakosti. Ako je navedeni objekt popis, tada metoda vraća true. Za oba popisa kaže se da su jednaka onda i samo ako su iste veličine, a odgovarajući elementi na dva popisa jednaki su i istim redoslijedom.
Demonstracija metode jednakosti dana je u nastavku:
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.
'); } }
Izlaz:
Dobiti
Prototip: Object get (int indeks)
Parametri: index => Položaj na kojem treba vratiti element.
Povratna vrijednost: object => Element na navedenom položaju.
Opis: Metoda get () vraća element na zadanoj poziciji.
Ova metoda baca “indexOutOfBoundsException” ako je navedeni indeks izvan raspona popisa.
Postavi
Prototip: Skup objekata (indeks int, element objekta)
Parametri: index => Položaj na kojem će se postaviti novi element.
element => Novi element koji se postavlja na poziciju zadanu indeksom.
Povratna vrijednost: Objekt => Zamijenjeni element
Opis: Skup metoda () zamjenjuje element u danom indeksu drugom vrijednošću zadanom elementom.
Metoda može izbaciti sljedeće iznimke:
UnsupportedOperationException: Popis ne podržava operaciju postavljanja.
ClassCastException: Operacija se ne može izvesti zbog klase elementa
IllegalArgumentException: Argument ili neki njegov aspekt je nezakonit
IndexOutOfBoundsException: Indeks izvan dosega.
Sljedeći program prikazuje primjer metode get () i set ().
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) ); } }
Izlaz:
hashCode
Prototip: int hashCode ()
Parametri: NULA
Povratna vrijednost: int => hashCode popisa
Opis: Metoda ‘hashCode ()’ vraća hashCode popisa koji je cjelobrojna vrijednost.
Primjer:
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); } }
Izlaz:
prazno je
Prototip: logički isEmpty ()
Parametri: NULA
Povratna vrijednost: true => Popis je prazan
Opis: Metoda ‘isEmpty ()’ provjerava je li popis prazan. IsEmpty metoda koristi se za provjeru sadrži li popis elemente u sebi prije nego što počnete obrađivati te elemente.
indexOf
Prototip: int indexOf (objekt o)
Parametri: o => element za traženje na popisu
Povratna vrijednost: int => indeks ili položaj prvog pojavljivanja datog elementa na popisu. Vraća -1 ako element nije prisutan.
Opis: Metoda ‘indexOf ()’ vraća indeks prvog pojavljivanja datog elementa o na popisu. Ako element nije pronađen, vraća -1.
lastIndexOf
Prototip: int lastIndexOf (objekt o)
Parametri: o => Objekt čiji indeks treba pretražiti
Povratna vrijednost: int => Indeks posljednjeg pojavljivanja datog elementa na popisu, -1 inače.
Opis: Metoda ‘lastIndexOf ()’ vraća indeks posljednjeg pojavljivanja elementa o na popisu. Ako element nije pronađen, metoda vraća -1.
Java program u nastavku pokazuje upotrebu metoda indexOf i lastIndexOf s popisa.
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)); } }
Izlaz:
ukloniti
Prototip: Ukloni objekt (indeks int)
Parametri: index => Indeks ili položaj na popisu na kojem će se element ukloniti
Povratna vrijednost: Objekt => Element uklonjen
Opis: Metoda ‘remove ()’ uklanja element sa zadanog položaja s popisa. Nakon brisanja, elementi pored izbrisanog elementa pomiču se ulijevo.
Ova metoda može izbaciti sljedeće iznimke:
UnsupportedOperationException: Popis ne podržava uklanjanje.
IndexOutOfBoundsException: Navedeni indeks izvan je raspona
ukloniti
Prototip: logičko uklanjanje (objekt o)
Parametri: o => Element koji se uklanja s popisa
Povratna vrijednost: true => Element je uspješno uklonjen.
Opis: Ova preopterećena verzija metode remove () uklanja prvo pojavljivanje datog elementa o sa popisa. Ako zadani element nije prisutan na popisu, on ostaje nepromijenjen.
Ova metoda može izbaciti sljedeću iznimku:
UnsupportedOperationException: Popis ne podržava uklanjanje.
ukloniti sve
Prototip: boolean removeAll (Zbirka c)
Parametri: c => Zbirka koja sadrži elemente koji se uklanjaju s popisa.
Povratna vrijednost: true => Ako je poziv metode uspješan i svi elementi navedeni u zbirci c uklonjeni su s popisa.
Opis: Metoda ‘removeAll ()’ koristi se za uklanjanje svih elemenata s popisa koji su navedeni u zbirci c koja se predaje kao argument.
Ova metoda može izbaciti sljedeću iznimku:
UnsupportedOperationException: removeAll popis ne podržava.
Pogledajmo primjer metoda remove and removeAll.
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); } }
Izlaz:
zadržiSve
Prototip: boolean retainAll (Zbirka c)
Parametri: c => Zbirka koja sadrži elemente koje treba zadržati na popisu.
Povratna vrijednost: true => Ako je poziv metode promijenio popis.
Opis: Ova metoda uklanja sve elemente s popisa, osim onih koji su prisutni u zbirci c. Drugim riječima, ova metoda zadržava sve elemente na popisu koji su prisutni u zbirci c i uklanja ostale elemente.
Ova metoda može izbaciti sljedeću iznimku:
UnsupportedOperationException: Popis ne podržava retainAll.
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); } }
Izlaz:
podlista
Prototip: Lista popisa (int fromIndex, int toIndex)
Parametri: fromIndex => Donji indeks popisa (uključujući)
toIndex => Viši indeks popisa (ekskluzivno)
Povratna vrijednost: Popis => Podspis danog popisa
Opis: Sublist metode () vraća djelomični prikaz popisa, poznat i kao podpopis iz 'fromIndex' u 'toIndex'. Vraćeni podlist je samo prikaz nadređenog popisa i stoga se sve promjene napravljene na bilo kojem popisu odražavaju svugdje.
Slično tome, sve operacije popisa rade i na podpopisu.
Metoda može izbaciti sljedeću iznimku:
IndexOutOfBoundsException: Nezakonita vrijednost toIndex.
Primjer programa za metodu popisa dat je u nastavku.
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); } }
Izlaz:
sortiraj popis
Prototip: sortiranje praznina (komparator c)
Parametri: c => Usporednik na temelju kojeg se sortira popis.
Povratna vrijednost: NULA
Opis: Metoda sortiranja () koristi se za sortiranje popisa. Metoda koristi upoređivač naveden za sortiranje popisa.
Pogledajmo primjer metode sortiranja . Usporedili smo ga s metodom Collections.sort koja sortira elemente u prirodnom slijedu. Rezultat programa je poredani popis.
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); } }
Izlaz:
toArray
Prototip: Objekt () uArray ()
Parametri: NULA
Povratna vrijednost: Objekt () => Prikaz niza niza
Opis: Metoda toArray () vraća prikaz niza popisa u ispravnom slijedu.
toArray
Prototip: Object () toArray (Object () a)
Parametri: a => Tip niza koji treba uskladiti s popisom vrsta elemenata tijekom pretvaranja popisa u niz.
Povratna vrijednost: Objekt () => Prikaz niza niza.
Opis: Ovo preopterećenje metode toArray () vraća niz koji sadrži elemente na popisu koji imaju isti tip vremena izvođenja kao i niz a.
Ova metoda može izbaciti sljedeću iznimku:
ArrayStoreException: Vrsta izvođenja svakog elementa na popisu nije podvrsta vrste izvođenja svakog elementa na ovom Popisu.
Slijedi primjer provedbe metode toArray.
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)); } }
Izlaz:
Iterator
Prototip: Iterator iterator ()
Parametri: NULA
Povratna vrijednost: Iterator => Iterator za itiranje po elementima popisa
Opis: Ova metoda vraća iterator koji prelazi elemente s popisa.
Java program za demonstraciju pomoću iteratora.
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() + ' '); } } }
Izlaz:
listIterator
Prototip: ListIterator listIterator ()
Parametri: NULA
Povratna vrijednost: ListIterator => Listiterator elemenata na popisu.
Opis: Metoda listIterator () vraća objekt ListIterator elemenata na popisu. Ovaj iterator započinje s početka popisa, tj. Indeksa 0.
listIterator
Prototip: ListIterator listIterator (int indeks)
Parametri: index => Položaj na kojem započinje listIterator.
Povratna vrijednost: ListIterator => Objekt ListIterator na navedenom indeksu na popisu.
Opis: Preopterećenje metode listIterator () vraća listIterator koji započinje na danom mjestu na popisu. Dati indeks označava da će to biti prvi element koji će se vratiti prvim pozivom na nextElement () metodu ListIterator.
Metoda može baciti IndexOutOfBoundsException zbog nevaljane vrijednosti indeksa.
Sljedeći primjer pokazuje upotrebu listIterator.
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() + ' '); } } }
Izlaz:
Kasnije ćemo detaljno razgovarati o ListIteratoru.
Razmotrimo sada neke razne operacije koje se mogu izvesti na popisima, ali metode za koje nisu predviđene u sučelju popisa.
Kopiraj popis u Javi
Za kopiranje elemenata jednog popisa na drugi popis morate koristiti metodu copy () koju pruža okvir Zbirke.
Metoda Collections.copy () kopira sve elemente popisa navedenog kao drugi argument na popis naveden kao prvi argument. Imajte na umu da bi popis na koji se kopira sadržaj drugog popisa trebao biti dovoljno velik da primi kopirane elemente.
Ako popis nije dovoljno velik, metoda kopiranja baca “indexOutOfBoundsEexception”.
Sljedeći program kopira sadržaj jednog popisa na drugi.
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); } }
Izlaz:
Ukloni duplikate sa popisa na Javi
Dati popis može ili ne mora imati ponavljajuće elemente ili duplikate. Ako popis s kojim radite sadrži duplicirane elemente i želite sve različite elemente na popisu, postoje dva načina za uklanjanje duplikata s popisa podržanog u Javi.
Korištenje Java 8 stream
Prva metoda za uklanjanje duplikata sa popisa je upotreba metode distinct () koju pruža Java 8 stream. Ovdje popis koji sadrži duplikate poziva metodu stream () .distinct i tada se povratna vrijednost pretvara u novi popis koji će imati samo različite elemente.
Sljedeći program prikazuje upotrebu metode distinct ().
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); } }
Izlaz:
Korištenje pristupa Iterator
Uklanjanje duplikata s popisa pomoću iteratora dugotrajan je i primitivan pristup. U ovom pristupu morate prijeći popis i staviti prvu pojavu svakog elementa na novi popis. Svaki sljedeći element provjerava se je li duplikat.
Program u nastavku to postiže.
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); } }
Izlaz:
Često postavljana pitanja
P # 1) Što je metoda get na popisu u Javi?
Odgovor: Način dobivanja popisa koristi se za dohvaćanje određenog elementa na popisu na temelju indeksa. Potrebni indeks prosljeđujete metodi get i metoda get vratit će vrijednost elementa na tom indeksu.
P # 2) Što je toArray metoda u Javi?
što je ključ bežične mreže
Odgovor: Metoda toArray () koristi se za dobivanje predstavljanja niza popisa.
P # 3) Kako sortirate popis na Javi?
Odgovor: U Javi se popis može sortirati metodom sortiranja popisa. Možete proslijediti vlastite kriterije sortiranja pomoću sučelja usporedbe koje se kao parametar prosljeđuje metodi sortiranja.
Također možete koristiti Zbirke. Metoda sortiranja za sortiranje popisa. Ova metoda sortira popis prema prirodnom redoslijedu.
P # 4) Što je Arrays.asList () na Javi?
Odgovor: Metoda 'asList' niza vraća popis elemenata potpomognutih nizom.
Zaključak
U ovom uputstvu naučili smo sve metode koje nudi popis. Popis Java pruža razne metode pomoću kojih možete manipulirati i obrađivati popise, uključujući pretraživanje, sortiranje itd. Ovdje smo objasnili svaku metodu s odgovarajućim primjerima programiranja.
U našem nadolazećem uputstvu detaljno ćemo razgovarati o ListIteratoru.
=> Ovdje istražite jednostavnu seriju Java treninga.
Preporučena literatura
- Popis Java - Kako stvoriti, inicijalizirati i koristiti popis na Javi
- Tajni popis u niz i druge zbirke u Javi
- Vodič za napredni popis Pythona (sortiranje, preokretanje, indeksiranje, kopiranje, pridruživanje, zbroj)
- Popis Python - Stvaranje, pristup, rezanje, dodavanje ili brisanje elemenata
- Java niti s metodama i životnim ciklusom
- Ukloni / izbriši element iz niza u Javi
- Java String Vodič | Metode Java niza s primjerima
- Zadani popis IP adresa usmjerivača za uobičajene marke bežičnih usmjerivača