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
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“.