java list methods sort list
Ta vadnica pojasnjuje različne metode seznama Java, kot so Razvrsti seznam, Seznam vsebuje, Seznam Dodaj, Odstrani seznam, Velikost seznama, Dodaj vse, Odstrani vse, Obrni seznam in še več:
Vmesnik seznama smo na splošno že obravnavali v prejšnji vadnici. Vmesnik seznama ima različne metode, ki se uporabljajo za obdelavo vsebine seznama. S temi metodami lahko na seznam vstavljate / brišete, razvrščate in iščete elemente.
V tej vadnici bomo razpravljali o vseh metodah, ki jih ponuja vmesnik seznama.
=> Tukaj si oglejte A-Z vadnic za učenje Java.
Za iteracijo po seznamu vmesnik seznama uporablja iterator seznama. Ta iterator seznama se razteza od vmesnika iteratorja. V naslednji vadnici bomo raziskali več o iteratorju seznama.
Kaj se boste naučili:
- Seznam metod v Javi
- Odstranite dvojnike s seznama v Javi
- Pogosto zastavljena vprašanja
- Zaključek
- Priporočeno branje
Seznam metod v Javi
Naslednja tabela prikazuje različne funkcije, ki jih nudi vmesnik seznama v Javi.
Metoda seznama | Prototip metode | Opis |
---|---|---|
vsebuje | logična vrednost vsebuje (predmet o) | Preveri, ali je navedeni element prisoten na seznamu, in vrne true, če je prisoten |
velikost | velikost int () | Vrne velikost seznama, tj. Število elementov na seznamu ali dolžino seznama. |
jasno | prazno jasno () | Počisti seznam tako, da odstrani vse elemente na seznamu |
dodaj | void add (indeks int, element predmeta) | Doda dani element na seznam pri danem indeksu |
logično dodajanje (objekt o) | Dani element doda na koncu seznama | |
addAll | boolean addAll (zbirka c) | Celotno dano zbirko doda na konec seznama |
logični addAll (indeks int, zbirka c) | Vstavi dano zbirko (vsi elementi) na seznam z navedenim indeksom | |
vsebuje vse | boolean containsAll (zbirka c) | Preveri, ali je navedena zbirka (vsi elementi) del seznama. Vrne res da. |
enako | logično enako (objekt o) | Primerja navedeni predmet za enakost z elementi seznama |
Pojdi | Object get (indeks int) | Vrne element na seznamu, ki ga določa indeks |
hashCode | int hashCode () | Vrne vrednost zgoščene kode seznama. |
indexOf` | int indexOf (predmet o) | Poišče prvi pojav vhodnega elementa in vrne njegov indeks |
je prazno | logična isEmpty () | Preveri, če je seznam prazen |
lastIndexOf | int lastIndexOf (Predmet o) | Poišče zadnji pojav vhodnega elementa na seznamu in vrne njegov indeks |
Odstrani | Odstranitev predmeta (indeks int) | Odstrani element pri podanem indeksu |
logično odstranjevanje (objekt o) | Odstrani element ob prvem pojavu na seznamu | |
odstrani vse | boolean removeAll (zbirka c) | S seznama odstrani vse elemente, ki jih vsebuje navedena zbirka |
retainAll | boolean retainAll (zbirka c) | Nasproti odstrani vse. Obdrži element, naveden v zbirki vnosov na seznamu. |
Nastavite | Nabor predmetov (indeks int, element predmeta) | Spremeni element v podanem indeksu, tako da ga nastavi na določeno vrednost |
subList | Seznam seznamov (int fromIndex, int toIndex) | Vrne podlist elementov med fromIndex (vključno) in toIndex (izključno). |
razvrsti | void sort (Primerjalnik c) | Razvrsti element seznama po določenem primerjalniku, da dobi urejeni seznam |
toArray | Object () toArray () | Vrne predstavitev polja na seznamu |
Object () toArray (Object () a) | Vrne predstavitev matrike, katere vrsta izvajanja je enaka podanemu argumentu matrike | |
iterator | Iterator iteratorja () | Vrne Iterator za seznam |
listIterator | ListIterator listIterator () | Vrne ListIterator za seznam |
ListIterator listIterator (indeks int) | Vrne ListIterator, začenši z navedenim indeksom na seznamu |
Nato bomo razpravljali o teh funkcijah skupaj z njihovimi primeri.
velikost
Prototip: velikost int ()
Parametri: NIL
Vrnjena vrednost: int => Število elementov na seznamu ali z drugimi besedami dolžina seznama.
Opis: Velikost () vrne število elementov ali velikost seznama. Poenostavljeno jo lahko imenujemo tudi dolžina.
jasno
Prototip: prazno jasno ()
Parametri: NIL
Vrnjena vrednost: Ni vrnjene vrednosti
Opis: Počisti seznam tako, da odstrani vse elemente seznama. Vrže »UnSupportedException«, če seznam ne podpira operacije.
Spodnji primer prikazuje velikost () in metodo 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); } }
Izhod:
dodaj
Prototip: void add (indeks int, element predmeta)
Parametri: indeks - položaj, na katerem naj se doda element.
Element - element, ki ga je treba dodati
Vrnjena vrednost: praznino
Opis: Doda dani element na seznam pri danem indeksu. Naslednji elementi so premaknjeni v desno.
Vključene so naslednje izjeme:
IndexOutOfBoundsException: Kazalo seznama je izven obsega
UnsupportedOperationException: Postopek dodajanja seznam ne podpira.
ClassCastException: Elementa ni mogoče dodati na seznam zaradi razreda podanih elementov.
IllegalArgumentException: Navedeni element ali neki vidik ni pravilen.
Dodaj
Prototip: logično dodajanje (objekt o)
Parametri: o => Element, ki ga je treba dodati na seznam
Vrnjena vrednost: true => Element je bil uspešno dodan
False => Dodajanje ni uspešno
Opis: Ta metoda doda dani element na konec seznama.
Ta operacija lahko povzroči naslednje izjeme.
UnsupportedOperationException: Dodaj operacijo, ki jo ta seznam ne podpira.
ClassCastException: Navedenega elementa ni mogoče dodati zaradi svojega razreda
IllegalArgumentException: Navedeni element ali neki vidik ni pravilen.
addAll
Prototip: boolean addAll (zbirka c)
Parametri: c => Zbirka, katere elemente je treba dodati na seznam
Vrnjena vrednost: true => Izvedba metode uspešna
Opis: Metoda addAll vzame vse elemente iz zbirke c in jih doda na konec seznama z ohranjanjem nastavljenega vrstnega reda.
Ta metoda kaže nedoločeno vedenje, če se zbirka spremeni, ko je operacija v teku.
Metoda vrže naslednje izjeme:
UnsupportedOperationException: Dodaj operacijo, ki jo ta seznam ne podpira.
ClassCastException: Navedenega elementa ni mogoče dodati zaradi svojega razreda.
IllegalArgumentException: Navedeni element ali neki vidik ni pravilen.
addAll
Prototip: logični addAll (indeks int, zbirka c)
Parametri: index => Položaj, na katerem naj bo zbirka vstavljena.
C => Zbirka, ki jo je treba vstaviti na seznam.
Vrnjena vrednost: true => Če so elementi zbirke uspešno dodani na seznam.
Opis: Metoda addAll vstavi vse elemente v navedeni zbirki na seznam z navedenim indeksom. Nato se naslednji elementi premaknejo v desno. Kot v primeru prejšnje preobremenitve addAll, vedenje ni določeno, če je zbirka spremenjena med potekom operacije.
Izjeme, ki jih povzroča ta metoda, so:
UnsupportedOperationException: Dodaj operacijo, ki jo ta seznam ne podpira.
ClassCastException: Navedenega elementa ni mogoče dodati zaradi svojega razreda.
IllegalArgumentException: Navedeni element ali neki vidik ni pravilen.
IndexOutOfBoundsException: Indeks izven obsega.
Spodnji program prikazuje predstavitev metod add in addAll s seznama.
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); } }
Izhod:
vsebuje
Prototip: logična vrednost vsebuje (predmet o)
Parametri: o => Element, ki ga je treba iskati na seznamu.
Vrnjena vrednost: true => Če seznam vsebuje navedeni element.
Opis: Metoda 'vsebuje' preveri, ali je navedeni element prisoten na seznamu, in vrne logično vrednost true, če je element prisoten. V nasprotnem primeru vrne false.
vsebuje vse
Prototip: boolean containsAll (zbirka c)
Parametri: c => Zbirka, ki jo želite iskati na seznamu.
Vrnjena vrednost: true => Če so na seznamu vsi elementi v navedeni zbirki.
Opis: Metoda “containsAll” preveri, ali so na seznamu prisotni vsi elementi v navedeni zbirki. Če je prisoten, vrne resnično vrednost, sicer pa napačno.
Naslednji program Java prikazuje uporabo metod 'contains' in 'containsAll' na seznamu.
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''); } }
Izhod:
Dani seznam vsebuje niz 'Java', ne pa tudi niz 'C'
Seznam vsebuje niza 'Ruby' in 'Python'
enako
Prototip: logično enako (objekt o)
Parametri: o => Cilj, ki ga je treba preizkusiti za enakost.
Vrnjena vrednost: true => Če je dani objekt enak seznamu.
Opis: Ta metoda se uporablja za primerjavo danega predmeta s seznamom enakosti. Če je navedeni objekt seznam, potem metoda vrne true. Oba seznama naj bi bila enaka, če in le, če sta enaka, ustrezna elementa na obeh seznamih pa enaka in v enakem vrstnem redu.
Prikaz metode enakovrednosti je podan spodaj:
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.
'); } }
Izhod:
Pojdi
Prototip: Object get (indeks int)
Parametri: index => Položaj, na katerem naj se element vrne.
Vrnjena vrednost: object => Element na določenem položaju.
Opis: Metoda get () vrne element na danem položaju.
Ta metoda vrže “indexOutOfBoundsException”, če je navedeni indeks izven obsega seznama.
Nastavite
Prototip: Nabor predmetov (indeks int, element predmeta)
Parametri: index => Položaj, na katerem naj bo nastavljen novi element.
element => Nov element, ki se postavi na položaj, ki ga določa indeks.
Vrnjena vrednost: Objekt => Zamenjani element
Opis: Metoda set () nadomesti element v danem indeksu z drugo vrednostjo, ki jo poda element.
Metoda lahko povzroči naslednje izjeme:
UnsupportedOperationException: Seznam ne podpira operacije nastavitve.
ClassCastException: Operacije ni mogoče izvesti zaradi razreda elementa
IllegalArgumentException: Argument ali kakšen njegov vidik je nezakonit
IndexOutOfBoundsException: Indeks izven obsega.
Naslednji program prikazuje primer metode get () in 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) ); } }
Izhod:
hashCode
Prototip: int hashCode ()
kaj storiti z datotekami .torrent
Parametri: NIL
Vrnjena vrednost: int => hashCode seznama
Opis: Metoda ‘hashCode ()’ vrne hashCode seznama, ki je celoštevilska vrednost.
Primer:
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); } }
Izhod:
je prazno
Prototip: logična isEmpty ()
Parametri: NIL
Vrnjena vrednost: true => Seznam je prazen
Opis: Metoda ‘isEmpty ()’ preveri, ali je seznam prazen. Metoda IsEmpty se uporablja za preverjanje, ali ima seznam vse elemente, preden začnete te elemente obdelovati.
indeks
Prototip: int indexOf (predmet o)
Parametri: o => element za iskanje na seznamu
Vrnjena vrednost: int => indeks ali položaj prvega pojavljanja danega elementa na seznamu. Vrne -1, če element ni prisoten.
Opis: Metoda ‘indexOf ()’ vrne indeks prve pojavitve danega elementa o na seznamu. Če elementa ne najdemo, vrne -1.
lastIndexOf
Prototip: int lastIndexOf (Predmet o)
Parametri: o => Predmet, katerega indeks je treba iskati
Vrnjena vrednost: int => Kazalo zadnjega pojavljanja danega elementa na seznamu, -1 sicer.
Opis: Metoda ‘lastIndexOf ()’ vrne indeks zadnjega pojavljanja elementa o na seznamu. Če elementa ne najdemo, metoda vrne -1.
Spodnji program Java prikazuje uporabo metod indexOf in lastIndexOf s seznama.
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)); } }
Izhod:
Odstrani
Prototip: Odstranitev predmeta (indeks int)
Parametri: index => Kazalo ali položaj na seznamu, pri katerem bo element odstranjen
Vrnjena vrednost: Objekt => Element odstranjen
Opis: Metoda ‘remove ()’ s seznama odstrani element na danem položaju. Po izbrisu se elementi ob izbrisanem elementu premaknejo levo.
Ta metoda lahko povzroči naslednje izjeme:
UnsupportedOperationException: Odstrani seznam ne podpira.
IndexOutOfBoundsException: Navedeni indeks je izven obsega
Odstrani
Prototip: logično odstranjevanje (objekt o)
Parametri: o => Element, ki ga je treba odstraniti s seznama
Vrnjena vrednost: true => Element je uspešno odstranjen.
Opis: Ta preobremenjena različica metode remove () odstrani prvi pojav danega elementa o s seznama. Če danega elementa ni na seznamu, ostane nespremenjen.
Ta metoda lahko povzroči naslednjo izjemo:
UnsupportedOperationException: Odstrani seznam ne podpira.
odstrani vse
Prototip: boolean removeAll (zbirka c)
Parametri: c => Zbirka, ki vsebuje elemente, ki so odstranjeni s seznama.
Vrnjena vrednost: true => Če je klic metode uspešen in so vsi elementi, navedeni v zbirki c, odstranjeni s seznama.
Opis: Metoda ‘removeAll ()’ se uporablja za odstranjevanje vseh elementov s seznama, ki so podani v zbirki c, ki je posredovana kot argument.
Ta metoda lahko povzroči naslednjo izjemo:
UnsupportedOperationException: removeAll seznam ne podpira.
Oglejmo si primer metod odstranitve in odstranitve vseh.
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); } }
Izhod:
retainAll
Prototip: boolean retainAll (zbirka c)
Parametri: c => Zbirka, ki vsebuje elemente, ki jih je treba obdržati na seznamu.
Vrnjena vrednost: true => Če je klic metode spremenil seznam.
Opis: Ta metoda s seznama odstrani vse elemente, razen tistih, ki so prisotni v zbirki c. Z drugimi besedami, ta metoda ohrani vse elemente na seznamu, ki so prisotni v zbirki c, in odstrani druge elemente.
Ta metoda lahko povzroči naslednjo izjemo:
UnsupportedOperationException: Seznam ne podpira 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); } }
Izhod:
subList
Prototip: Seznam seznamov (int fromIndex, int toIndex)
Parametri: fromIndex => Spodnji indeks seznama (vključno)
toIndex => Višji indeks seznama (izključno)
Vrnjena vrednost: Seznam => Pod-seznam danega seznama
Opis: Sublist list () vrne delni pogled seznama, znan tudi kot sublist iz ‘fromIndex’ v ‘toIndex’. Vrnjeni podlist je samo pogled nadrejenega seznama, zato se spremembe, ki so bile narejene na katerem koli seznamu, odražajo povsod.
Podobno vse operacije seznama delujejo tudi na podlistku.
Metoda lahko povzroči naslednjo izjemo:
IndexOutOfBoundsException: Neveljavna vrednost toIndex.
Spodaj je podan primer programa za metodo podsistema.
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); } }
Izhod:
razvrsti seznam
Prototip: void sort (Primerjalnik c)
Parametri: c => Primerjalnik, na podlagi katerega je seznam razvrščen.
Vrnjena vrednost: NIL
Opis: Za razvrščanje seznama se uporablja metoda 'sort ()'. Za razvrščanje seznama metoda uporablja primerjalnik, ki je določen.
Oglejmo si primer metode razvrščanja . Primerjali smo ga z metodo Collections.sort, ki razvršča elemente v naravnem zaporedju. Rezultat programa je urejen seznam.
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); } }
Izhod:
toArray
Prototip: Object () toArray ()
Parametri: NIL
Vrnjena vrednost: Objekt () => Prikaz matrike seznama
Opis: Metoda toArray () vrne predstavitev polja v ustreznem zaporedju.
toArray
Prototip: Object () toArray (Object () a)
Parametri: a => Vrsta matrike, ki jo je treba pretvoriti v seznam elementov med pretvorbo seznama v matriko.
Vrnjena vrednost: Objekt () => Prikaz matrike seznama.
Opis: Ta preobremenitev metode toArray () vrne matriko, ki vsebuje elemente na seznamu, ki imajo enak čas izvajanja kot vrsta matrike a.
Ta metoda lahko povzroči naslednjo izjemo:
ArrayStoreException: Vrsta izvajalnega okolja vsakega elementa na seznamu ni podvrsta izvajalnega tipa vsakega elementa na tem seznamu.
Sledi primer izvedbe 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)); } }
Izhod:
Iterator
Prototip: Iterator iteratorja ()
Parametri: NIL
Vrnjena vrednost: Iterator => Iterator za iteracijo po elementih seznama
Opis: Ta metoda vrne iterator, ki se ponovi nad elementi na seznamu.
Java program za predstavitev z uporabo iteratorja.
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() + ' '); } } }
Izhod:
listIterator
Prototip: ListIterator listIterator ()
Parametri: NIL
Vrnjena vrednost: ListIterator => Listiterator elementov na seznamu.
Opis: Metoda listIterator () vrne objekt ListIterator elementov na seznamu. Ta iterator se začne od začetka seznama, tj.indeksa 0.
listIterator
Prototip: ListIterator listIterator (indeks int)
Parametri: index => Položaj, na katerem se zažene listIterator.
Vrnjena vrednost: ListIterator => Objekt ListIterator na določenem indeksu na seznamu.
Opis: Preobremenitev metode listIterator () vrne listIterator, ki se začne na danem mestu na seznamu. Dani indeks označuje, da bo prvi element, ki ga bo prvi klic vrnil v metodo nextElement () metode ListIterator.
Metoda lahko vrže IndexOutOfBoundsException za neveljavno vrednost indeksa.
Naslednji primer prikazuje uporabo 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() + ' '); } } }
Izhod:
O ListIteratorju bomo podrobneje razpravljali kasneje.
Pogovorimo se zdaj o različnih operacijah, ki jih je mogoče izvesti na seznamih, vendar metode, ki niso na voljo v vmesniku seznama.
Kopiraj seznam v Javi
Za kopiranje elementov enega seznama na drug seznam morate uporabiti metodo copy (), ki jo zagotavlja ogrodje zbirk.
Metoda Collections.copy () kopira vse elemente seznama, podanega kot drugi argument, na seznam kot prvi argument. Seznam, na katerega se kopira vsebina drugega seznama, mora biti dovolj velik, da sprejme kopirane elemente.
Če seznam ni dovolj velik, metoda kopiranja vrže “indexOutOfBoundsEexception”.
Naslednji program kopira vsebino enega seznama na drugega.
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); } }
Izhod:
Odstranite dvojnike s seznama v Javi
Dani seznam lahko vsebuje ponavljajoče se elemente ali dvojnike ali pa tudi ne. Če ima seznam, s katerim delate, podvojene elemente in želite na seznamu vse ločene elemente, potem obstajata dva načina za odstranitev dvojnikov s seznama, ki ga podpira Java.
Uporaba Java 8 stream
Prvi način odstranitve dvojnikov s seznama je z uporabo metode distinct (), ki jo ponuja tok Java 8. Tu seznam, ki vsebuje dvojnike, prikliče metodo stream () .distinct, nato pa se vrnjena vrednost pretvori v nov seznam, ki bo imel samo različne elemente.
Naslednji program prikazuje uporabo 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); } }
Izhod:
Uporaba pristopa Iterator
Odstranjevanje dvojnikov s seznama s pomočjo iteratorja je dolgotrajen in primitiven pristop. Pri tem pristopu morate prečkati seznam in prvi pojav vsakega elementa postaviti na nov seznam. Vsak naslednji element se preveri, če gre za dvojnik.
Spodnji program to dosež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); } }
Izhod:
Pogosto zastavljena vprašanja
V # 1) Kaj je metoda get na seznamu v Javi?
Odgovor: Metoda Get na seznamu se uporablja za pridobivanje določenega elementa na seznamu na podlagi indeksa. Zahtevani indeks posredujete metodi get in metoda get bo vrnila vrednost elementa pri tem indeksu.
V # 2) Kaj je metoda toArray v Javi?
Odgovor: Metoda toArray () se uporablja za prikaz matrike seznama.
V # 3) Kako razvrstite seznam v Javi?
Odgovor: V Javi lahko seznam razvrstite z uporabo metode razvrščanja seznama. Svoja merila za razvrščanje lahko posredujete s primerjalnim vmesnikom, ki se kot parameter posreduje v metodo razvrščanja.
Uporabite lahko tudi zbirke. Način razvrščanja za razvrščanje seznama. Ta metoda razvrsti seznam po naravnem naročilu.
V # 4) Kaj je Arrays.asList () v Javi?
Odgovor: Metoda 'asList' matrike vrne seznam elementov, ki jih podpira matrika.
Zaključek
V tej vadnici smo se naučili vseh metod, ki jih ponuja seznam. Seznam Java vsebuje različne metode, s katerimi lahko manipulirate in obdelujete sezname, vključno z iskanjem, razvrščanjem itd. Tu smo razložili vsako metodo z ustreznimi primeri programiranja.
V naši prihajajoči vadnici bomo podrobno obravnavali ListIterator.
=> Tu raziščite preprosto serijo usposabljanja za Java.
Priporočeno branje
- Seznam Java - Kako ustvariti, inicializirati in uporabiti seznam v Javi
- Prikriti seznam v matriko in druge zbirke v Javi
- Vadnica za napredne sezname Python (razvrščanje, obračanje, indeksiranje, kopiranje, združevanje, vsota)
- Python List - Ustvarjanje, dostop, rezanje, dodajanje ali brisanje elementov
- Java niti z metodami in življenjskim ciklom
- Odstrani / izbriši element iz polja v Javi
- Vadnica za Java String | Nizovske metode Java s primeri
- Privzeti seznam naslovov IP usmerjevalnika za običajne znamke brezžičnega usmerjevalnika