logo

Java sąrašas

Sąrašas Java suteikia galimybę prižiūrėti užsakyta kolekcija . Jame yra indeksu pagrįsti metodai elementams įterpti, atnaujinti, ištrinti ir ieškoti. Jis taip pat gali turėti pasikartojančius elementus. Taip pat sąraše galime saugoti nulinius elementus.

Sąrašo sąsaja yrajava.utilpaketą ir paveldi kolekcijos sąsają. Tai yra ListIterator sąsajos gamykla. Naudodami ListIterator sąrašą galime kartoti pirmyn ir atgal. Sąrašo sąsajos įgyvendinimo klasės yraArrayList,LinkedList, Stack ir Vector. ArrayList ir LinkedList yra plačiai naudojami Java programavimui. „Vector“ klasė nebenaudojama nuo „Java 5“.

Sąsajų deklaracijos sąrašas

 public interface List extends Collection 

Java sąrašo metodai

Metodas apibūdinimas
void add(int indeksas, E elementas) Jis naudojamas nurodytam elementui įterpti nurodytoje sąrašo vietoje.
loginis priedas (E e) Jis naudojamas nurodytam elementui pridėti sąrašo pabaigoje.
loginis pridėti viską (c rinkinys) Jis naudojamas visiems nurodytos kolekcijos elementams pridėti prie sąrašo pabaigos.
loginis addAll(int indeksas, rinkinys c) Jis naudojamas norint pridėti visus nurodyto rinkinio elementus, pradedant nuo nurodytos sąrašo vietos.
tuščias aiškus () Jis naudojamas pašalinti visus elementus iš šio sąrašo.
loginis lygus (O objektas) Jis naudojamas norint palyginti nurodytą objektą su sąrašo elementais.
int maišos kodas () Jis naudojamas sąrašo maišos kodo reikšmei grąžinti.
E get (int index) Jis naudojamas elementui gauti iš konkrečios sąrašo vietos.
loginis yra tuščias() Grąžinama tiesa, jei sąrašas tuščias, kitu atveju false.
int lastIndexOf(Object o) Jis naudojamas norint grąžinti paskutinio nurodyto elemento pasireiškimo indeksą šiame sąraše arba -1, jei sąraše šio elemento nėra.
Objektas[] toArray() Jis naudojamas norint grąžinti masyvą, kuriame yra visi šio sąrašo elementai teisinga tvarka.
T[] į masyvą(T[] a) Jis naudojamas norint grąžinti masyvą, kuriame yra visi šio sąrašo elementai teisinga tvarka.
loginis yra (O objektas) Jis grąžina true, jei sąraše yra nurodytas elementas
loginis yra viskas (rinkinys c) Grąžinama tiesa, jei sąraše yra visas nurodytas elementas
int indexOf(O objektas) Jis naudojamas norint grąžinti indeksą šiame sąraše, kai nurodytas elementas pirmą kartą pasireiškė, arba -1, jei sąraše šio elemento nėra.
E pašalinti (int index) Jis naudojamas elementui, esančiam nurodytoje sąrašo vietoje, pašalinti.
loginis pašalinimas (O objektas) Jis naudojamas pašalinti pirmąjį nurodyto elemento pasireiškimą.
loginis pašalinti viską (rinkinys c) Jis naudojamas pašalinti visus elementus iš sąrašo.
galioti pakeisti viską (operatorius UnaryOperator) Jis naudojamas norint pakeisti visus sąrašo elementus nurodytu elementu.
negalioja, išlaikyti viską (rinkinys c) Jis naudojamas norint išsaugoti visus sąrašo elementus, esančius nurodytoje kolekcijoje.
E rinkinys (indeksas, E elementas) Jis naudojamas pakeičiant nurodytą elementą sąraše, esantį nurodytoje vietoje.
tuščias rūšiavimas (lyginamasis elementas c) Jis naudojamas sąrašo elementams rūšiuoti pagal nurodytą lyginamąjį elementą.
Skirstytuvo skirstytuvas() Jis naudojamas sąrašo elementų skirstytuvui sukurti.
Sąrašo subsąrašas (int fromIndex, int toIndex) Jis naudojamas norint gauti visus elementus, esančius duotame diapazone.
int dydis () Jis naudojamas sąraše esančių elementų skaičiui grąžinti.

„Java“ sąrašas prieš „ArrayList“.

Sąrašas yra sąsaja, o ArrayList yra sąrašo įgyvendinimo klasė.

Kaip sukurti sąrašą

„ArrayList“ ir „LinkedList“ klasėse įdiegta „List“ sąsaja. Pažiūrėkime pavyzdžius, kaip sukurti sąrašą:

 //Creating a List of type String using ArrayList List list=new ArrayList(); //Creating a List of type Integer using ArrayList List list=new ArrayList(); //Creating a List of type Book using ArrayList List list=new ArrayList(); //Creating a List of type String using LinkedList List list=new LinkedList(); 

Trumpai tariant, galite sukurti bet kokio tipo sąrašą. Tipui nurodyti naudojamos ArrayList ir LinkedList klasės. Čia T žymi tipą.

Java sąrašo pavyzdys

Pažiūrėkime paprastą List pavyzdį, kuriame kaip įgyvendinimą naudojame klasę ArrayList.

 import java.util.*; public class ListExample1{ public static void main(String args[]){ //Creating a List List list=new ArrayList(); //Adding elements in the List list.add('Mango'); list.add('Apple'); list.add('Banana'); list.add('Grapes'); //Iterating the List element using for-each loop for(String fruit:list) System.out.println(fruit); } } 
Išbandykite dabar

Išvestis:

 Mango Apple Banana Grapes 

Kaip konvertuoti masyvą į sąrašą

Mes galime konvertuoti masyvą į sąrašą, eidami per masyvą ir įtraukdami elementą į sąrašą po vieną naudodami list.add() metodą. Pažiūrėkime paprastą pavyzdį, kaip konvertuoti masyvo elementus į sąrašą.

 import java.util.*; public class ArrayToListExample{ public static void main(String args[]){ //Creating Array String[] array={'Java','Python','PHP','C++'}; System.out.println('Printing Array: '+Arrays.toString(array)); //Converting Array to List List list=new ArrayList(); for(String lang:array){ list.add(lang); } System.out.println('Printing List: '+list); } } 
Išbandykite dabar

Išvestis:

 Printing Array: [Java, Python, PHP, C++] Printing List: [Java, Python, PHP, C++] 

Kaip konvertuoti sąrašą į masyvą

Mes galime konvertuoti sąrašą į masyvą iškviesdami metodą list.toArray(). Pažiūrėkime paprastą pavyzdį, kaip konvertuoti sąrašo elementus į masyvą.

faktorialas c
 import java.util.*; public class ListToArrayExample{ public static void main(String args[]){ List fruitList = new ArrayList(); fruitList.add('Mango'); fruitList.add('Banana'); fruitList.add('Apple'); fruitList.add('Strawberry'); //Converting ArrayList to Array String[] array = fruitList.toArray(new String[fruitList.size()]); System.out.println('Printing Array: '+Arrays.toString(array)); System.out.println('Printing List: '+fruitList); } } 
Išbandykite dabar

Išvestis:

 Printing Array: [Mango, Banana, Apple, Strawberry] Printing List: [Mango, Banana, Apple, Strawberry] 

Gaukite ir nustatykite elementą sąraše

The get() metodas grąžina nurodyto indekso elementą, o set() metodas pakeičia arba pakeičia elementą.

 import java.util.*; public class ListExample2{ public static void main(String args[]){ //Creating a List List list=new ArrayList(); //Adding elements in the List list.add('Mango'); list.add('Apple'); list.add('Banana'); list.add('Grapes'); //accessing the element System.out.println('Returning element: '+list.get(1));//it will return the 2nd element, because index starts from 0 //changing the element list.set(1,'Dates'); //Iterating the List element using for-each loop for(String fruit:list) System.out.println(fruit); } } 
Išbandykite dabar

Išvestis:

latekso sąrašai
 Returning element: Apple Mango Dates Banana Grapes 

Kaip rūšiuoti sąrašą

Yra įvairių būdų, kaip rūšiuoti sąrašą, čia mes naudosime metodą Collections.sort() sąrašo elementui rūšiuoti. The java.util paketas suteikia naudingumo klasę Kolekcijos kuris turi statinį metodą sort(). Naudojant Collections.sort() metodą, galime lengvai rūšiuoti bet kurį sąrašą.

 import java.util.*; class SortArrayList{ public static void main(String args[]){ //Creating a list of fruits List list1=new ArrayList(); list1.add('Mango'); list1.add('Apple'); list1.add('Banana'); list1.add('Grapes'); //Sorting the list Collections.sort(list1); //Traversing list through the for-each loop for(String fruit:list1) System.out.println(fruit); System.out.println('Sorting numbers...'); //Creating a list of numbers List list2=new ArrayList(); list2.add(21); list2.add(11); list2.add(51); list2.add(1); //Sorting the list Collections.sort(list2); //Traversing list through the for-each loop for(Integer number:list2) System.out.println(number); } } 

Išvestis:

 Apple Banana Grapes Mango Sorting numbers... 1 11 21 51 

Java ListIterator sąsaja

ListIterator sąsaja naudojama elementui judėti atgal ir pirmyn.

ListIterator sąsajos deklaracija

 public interface ListIterator extends Iterator 

Java ListIterator sąsajos metodai:

Metodas apibūdinimas
tuščias pridėjimas (E e) Šis metodas įterpia nurodytą elementą į sąrašą.
boolean hasNext() Šis metodas grąžina teisingą rezultatą, jei sąrašo iteratorius turi daugiau elementų, važiuodamas sąrašu pirmyn.
Kitas () Šis metodas grąžina kitą sąrašo elementą ir perkelia žymeklio padėtį.
int nextIndex() Šis metodas grąžina elemento indeksą, kuris būtų grąžintas vėlesniu iškvietimu į next()
loginis turiAnkstesnis() Šis metodas grąžina teisingą rezultatą, jei šis sąrašo iteratorius turi daugiau elementų, einant sąrašą atvirkštine kryptimi.
E ankstesnis() Šis metodas grąžina ankstesnį elementą sąraše ir perkelia žymeklio padėtį atgal.
E ankstesnisIndeksas() Šis metodas grąžina elemento indeksą, kuris būtų grąžintas vėlesniu iškvietimu į previous().
galioti pašalinti () Šis metodas pašalina paskutinį elementą iš sąrašo, kurį grąžino next() arba previous() metodai
tuščias rinkinys (E e) Šis metodas pakeičia paskutinį elementą, grąžintą next() arba previous() metodais nurodytu elementu.

ListIterator sąsajos pavyzdys

 import java.util.*; public class ListIteratorExample1{ public static void main(String args[]){ List al=new ArrayList(); al.add('Amit'); al.add('Vijay'); al.add('Kumar'); al.add(1,'Sachin'); ListIterator itr=al.listIterator(); System.out.println('Traversing elements in forward direction'); while(itr.hasNext()){ System.out.println('index:'+itr.nextIndex()+' value:'+itr.next()); } System.out.println('Traversing elements in backward direction'); while(itr.hasPrevious()){ System.out.println('index:'+itr.previousIndex()+' value:'+itr.previous()); } } } 

Išvestis:

 Traversing elements in forward direction index:0 value:Amit index:1 value:Sachin index:2 value:Vijay index:3 value:Kumar Traversing elements in backward direction index:3 value:Kumar index:2 value:Vijay index:1 value:Sachin index:0 value:Amit 

Sąrašo pavyzdys: knyga

Pažiūrėkime į sąrašo, kuriame pridedame knygas, pavyzdį.

 import java.util.*; class Book { int id; String name,author,publisher; int quantity; public Book(int id, String name, String author, String publisher, int quantity) { this.id = id; this.name = name; this.author = author; this.publisher = publisher; this.quantity = quantity; } } public class ListExample5 { public static void main(String[] args) { //Creating list of Books List list=new ArrayList(); //Creating Books Book b1=new Book(101,'Let us C','Yashwant Kanetkar','BPB',8); Book b2=new Book(102,'Data Communications and Networking','Forouzan','Mc Graw Hill',4); Book b3=new Book(103,'Operating System','Galvin','Wiley',6); //Adding Books to list list.add(b1); list.add(b2); list.add(b3); //Traversing list for(Book b:list){ System.out.println(b.id+' '+b.name+' '+b.author+' '+b.publisher+' '+b.quantity); } } } 
Išbandykite dabar

Išvestis:

 101 Let us C Yashwant Kanetkar BPB 8 102 Data Communications and Networking Forouzan Mc Graw Hill 4 103 Operating System Galvin Wiley 6 

Susijusios temos

ArrayList Java

LinkedList Java

Skirtumas tarp ArrayList ir LinkedList

Skirtumas tarp Array ir ArrayList

Kada naudoti „ArrayList“ ir „LinkedList“ programoje „Java“.

Skirtumas tarp ArrayList ir Vector

Kaip palyginti du „ArrayList“ „Java“.

Kaip pakeisti „ArrayList“ programoje „Java“.

Kada naudoti „ArrayList“ ir „LinkedList“ programoje „Java“.

Kaip padaryti, kad „ArrayList“ būtų tik skaitymas

Skirtumas tarp masyvo ilgio ir „ArrayList“ dydžio () „Java“.

Kaip sinchronizuoti „ArrayList“ programoje „Java“.

mesti į eilutę

Kaip „Java“ konvertuoti „ArrayList“ į „Array“ ir „Array“ į „ArrayList“.

Array vs ArrayList Java

Kaip rūšiuoti Java ArrayList mažėjančia tvarka

Kaip pašalinti „ArrayList“ dublikatus „Java“.