Java nyelven, Sor és Lista a két legfontosabb adatstruktúra. Ebben a részben megtanuljuk hogyan alakítsuk át a Java Array-t listává. Mi is alkottunk Java programok amelyek a tömböt listává alakítják különböző Java metódusok használatával.
változó globális javascript
Tömb átalakítása listává Java nyelven
Java tömb ugyanazon adattípus több értékének gyűjteménye. Egy tömb tartalmazhat objektumokat és primitív típusokat. Ez a tömb definíciójától függ. Ha egy tömbdefiníció primitív típusú, akkor a tömb értékei a fertőző memóriahelyen tárolódnak. Ha egy tömb objektumelemeket tartalmaz, akkor a kupacszegmensben tárolt elemeket.
Ban ben Jáva , a Lista egy olyan felület, amely a Java Collections keretrendszerhez tartozik. Az elemeket objektum formájában rendezetten tárolja és megőrzi a beillesztési sorrendet. Lehetővé teszi, hogy duplikált értékeket tároljunk. Az osztályok Tömb lista , LinkedList , Vektor és Kazal megvalósítja a Lista felületet.
A Java öt módszert kínál a tömb listává alakítására, a következők:
- Natív módszer
- Az Arrays.asList() metódus használata
- A Collections.addAll() metódus használata
- Java 8 Stream API használata
- A Guava List.newArrayList() metódus használata
Natív módszer
Ez a legegyszerűbb módszer a Java tömb listává alakítására. Ebben a módszerben először létrehozunk egy üres listát, és hozzáadjuk a tömb összes elemét a listához. Lássunk egy példát.
ArrayToListExample1.java
import java.util.*; public class ArrayToListExample1 { public static void main(String args[]) { //creating an array String array[] = { 'Golf', 'Soccer', 'Baseball', 'Volleyball', 'Tennis', 'Badminton', 'Rugby', 'Archery', 'Skiing'}; //prints the array before conversion System.out.println('Array before conversion: '+ Arrays.toString(array)); //calling the generic function that converts Array into List List list = ArrayToListConversion(array); //print the List System.out.println('Array as List: ' + list); } //creating a generic function that converts the Array into List public static List ArrayToListConversion(T array[]) { //creating the constructor of the List class List list = new ArrayList(); //using for-each loop to iterate over the array for (T t : array) { //adding each element to the List list.add(t); } //returns the list converted into Array return list; } }
Kimenet:
Az Arrays.asList() metódus használata
Ez a Java Arrays osztály metódusa, amely a java.util csomaghoz tartozik. Ha az asList() metódust a Collection.toArray() metódussal együtt használjuk, az hídként működik a tömbalapú és a gyűjtemény alapú API-k között.
prioritási sor
Szintaxis:
public static List asList(T... a)
A metódus egy tömböt elemez paraméterként, amelyre a lista alátámasztásra kerül. A megadott tömb sorozható, rögzített méretű listanézetét adja vissza. Lássunk egy példát.
ArrayToListExample2.java
import java.util.*; public class ArrayToListExample2 { public static void main(String args[]) { //creating an array to be converted String arr[] = { 'Aston Martin', 'Bugatti', 'Bentley', 'Alfa Romeo', 'Buick', 'Acura', 'Audi', 'BMW', 'Buick' }; //prints array before conversion System.out.println('Array before conversion: '+ Arrays.toString(arr)); //calling generic method that converts Array into List List list = ArrayToListConversion(arr); //prints the List System.out.println('Array after conversion: ' + list); } //creating a generic function that converts the Array into List public static List ArrayToListConversion(T arr[]) { //invoking the asList() method and passing the array to be converted List list = Arrays.asList(arr); //returns the list return list; } }
Kimenet:
A Collections.addAll() metódus használata
Ez a módszer a Java gyűjtemények osztály. a java.util csomaghoz tartozik. Az osztály egy nevű metódust biztosít az összes hozzáadása() . A módszer segítségével a tömböt Listává alakíthatjuk. Az összes elemet hozzáadja a megadott gyűjteményhez. Az elemeket egyedileg vagy tömb formájában is megadhatjuk. Ugyanúgy működik, mint c.addAll(Arrays.asList(elements)). Ez egy gyorsabb megvalósítás, mint egy másik megvalósítás.
vicky kaushal kor
Szintaxis:
public static boolean addAll(Collection c, T... elements)
Két paramétert elemez:
Visszatér igaz ha a gyűjtés a hívás hatására megváltozott. A következő kivételeket veti fel:
- Ha a c paraméter nem támogatja az add műveletet, akkor dob UnsupportedOperationException .
- Ha a megadott tömbelemek egy vagy több null értéket tartalmaznak, és c nem engedélyez null elemeket, akkor dob NullPointerException .
- Ha bármely tömbelem megakadályozza, hogy hozzáadja a c paraméterhez, akkor dobja IllegalPointerException .
Lássunk egy példát.
ArrayToListExample3.java
import java.util.*; public class ArrayToListExample3 { public static void main(String args[]) { //creating an Array to be converted String arr[] = { 'San Jose', 'Dallas', 'Chicago','San Antonio', 'Los Angeles', 'Portland', 'Tucson' }; //prints the Array System.out.println('Array before conversion: '+ Arrays.toString(arr)); //method calling List list = ArrayToListConversion(arr); //print the List System.out.println('Array after conversion: ' + list); } //creating a generic function that converts the Array into List public static List ArrayToListConversion(T arr[]) { //creating the constructor of thr List class List list = new ArrayList(); //the method adds Array to the List Collections.addAll(list, arr); //returns the list return list; } }
Kimenet:
Java 8 Stream API használata
A Java 8 biztosítja a Stream API-t az objektumgyűjtemények feldolgozására. Ez egy olyan metódussorozat, amely a kívánt eredmény elérése érdekében folyamatban van. Ne feledje, hogy nem változtatja meg az eredeti adatstruktúrát. A kimenetet a folyamatban lévő metódusok alapján biztosítja. A Streamet többféleképpen is elérhetjük, de a következő programban ezt használtuk Arrays.stream(Object[]) hogy elérjük a patakot.
Collectors.toList() módszer: A metódus egy gyűjtőt ad vissza, amely összegyűjti a bemeneti elemeket egy újonnan létrehozott listába egy találkozási metódusban.
Szintaxis:
public static Collector<t,?,list> toList() </t,?,list>
Ahol T az általunk megadott elem típusa. A módszer nem ad garanciát a típusra, a változékonyságra, a szálbiztonságra és a szerializálhatóságra.
Használjuk a Stream API-t egy Java programban, és alakítsunk át egy tömböt Listává.
mylivecricket.in
ArrayToListExample4.java
import java.util.*; import java.util.stream.Collectors; public class ArrayToListExample4 { //creating a generic function that converts the Array into List public static List ArrayToListConversion(T arr[]) { //creates a list from the specified Array and returns the List return Arrays.stream(arr).collect(Collectors.toList()); } public static void main(String args[]) { //creating an array to be converted into List String arr[] = { 'Python', 'HTM', 'Java', 'C', 'C++', 'JavaScript', 'Ruby', 'Swift', 'PHP' }; //prints the Array before conversion System.out.println('Array: '+ Arrays.toString(arr)); //calling the method created above and storing the elements into the List object List list = ArrayToListConversion(arr); //prints the List System.out.println('List: ' + list); } }
Kimenet:
A Guava List.newArrayList() használata
Ez a módszer a Listák osztályba tartozók com.google.common.collect csomag. Az osztály módszert ad newArrayList() amely módosítható üres ArrayList példányt hoz létre a megadott tömb elemeivel.
Szintaxis:
python programozási példák
public static ArrayList newArrayList(E... elements)
Megjegyzés: A newArrayList() metódus elérhető a Java 6 és korábbi verzióihoz. A későbbi verziókban elavult. A fenti módszer helyett közvetlenül az ArrayList konstruktort használjuk.
ArrayToListExample5.java
import static com.google.common.collect.Lists.*; import java.util.*; public class ArrayToListExample5 { public static void main(String args[]) { //creating an Array to be converted into a List String arr[] = { 'Mango', 'Banana', 'Grapes', 'Apple', 'Plum', 'Blackberry', 'Papaya', 'Orange' }; //prints the Array before conversion System.out.println('Array: '+ Arrays.toString(arr)); //convert the Array to List List list = ArrayToListConversion(arr); //prints the List System.out.println('List: ' + list); } //creating a generic function that converts the Array into List public static List ArrayToListConversion(T arr[]) { //creates a List from the specified Array return Lists.newArrayList(arr); } }
Kimenet: