logo

Java Array to List

v Jave Pole a Zoznam sú dve najdôležitejšie dátové štruktúry. V tejto časti sa naučíme ako previesť Java Array na zoznam. Tiež sme vytvorili Java programy ktoré konvertujú pole na zoznam pomocou rôznych metód Java.

Konverzia poľa na zoznam v jazyku Java

Pole Java je kolekcia viacerých hodnôt rovnakého dátového typu. Pole môže obsahovať objekty a primitívne typy. Závisí to od definície poľa. Ak je definícia poľa primitívneho typu, hodnoty poľa sa uložia do nákazlivej pamäte. Ak pole obsahuje prvky objektov, prvky uložené v segmente haldy.

In Java , a Zoznam je rozhranie, ktoré patrí do rámca Java Collections. Usporiadane ukladá prvky vo forme objektov a zachováva poradie vkladania. Umožňuje nám ukladať duplicitné hodnoty. Triedy ArrayList , LinkedList , Vektor a Stoh implementuje rozhranie Zoznam.

internetový protokol smtp
Java Array to List

Java poskytuje päť metód na konverziu poľa na zoznam:

  • Natívna metóda
  • Použitie metódy Arrays.asList().
  • Použitie metódy Collections.addAll().
  • Používanie Java 8 Stream API
  • Použitie metódy Guava Lists.newArrayList().

Natívna metóda

Je to najjednoduchší spôsob prevodu poľa Java na zoznam. V tejto metóde najprv vytvoríme prázdny zoznam a pridáme všetky prvky poľa do zoznamu. Pozrime sa na príklad.

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; } } 

Výkon:

Java Array to List

Použitie metódy Arrays.asList().

Je to metóda triedy Java Arrays, ktorá patrí do balíka java.util. Keď používame metódu asList() s metódou Collection.toArray(), funguje ako most medzi API založenými na poli a na kolekcii.

Syntax:

 public static List asList(T... a) 

Metóda analyzuje pole ako parameter, ktorým bude zoznam podporovaný. Vráti serializovateľný zoznam s pevnou veľkosťou zadaného poľa. Pozrime sa na príklad.

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; } } 

Výkon:

Java Array to List

Použitie metódy Collections.addAll().

Je to metóda Kolekcie Java trieda. patrí do balíka java.util. Trieda poskytuje metódu s názvom pridať všetko() . Túto metódu môžeme použiť na konverziu poľa na zoznam. Pridá všetky prvky do zadanej kolekcie. Prvky môžeme špecifikovať buď jednotlivo, alebo vo forme poľa. Funguje rovnako ako c.addAll(Arrays.asList(elements)). Je to rýchlejšia implementácia ako iná implementácia.

Syntax:

 public static boolean addAll(Collection c, T... elements) 

Analyzuje dva parametre:

    c:Je to kolekcia, do ktorej sa majú pridávať prvky.prvkov: Prvky sa majú vložiť do c.

Vracia sa pravda ak sa inkaso zmenilo v dôsledku výzvy. Vyvoláva nasledujúce výnimky:

sneh vs ľad
  • Ak parameter c nepodporuje operáciu sčítania, vyhodí UnsupportedOperationException .
  • Ak zadané prvky poľa obsahujú jednu alebo viac hodnôt null a c nepovoľuje prvky null, vyhodí Výnimka NullPointerException .
  • Ak niektorý prvok poľa zabráni jeho pridaniu do parametra c, vyhodí ho IllegalPointerException .

Pozrime sa na príklad.

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; } } 

Výkon:

Java Array to List

Používanie Java 8 Stream API

Java 8 poskytuje Stream API na spracovanie zbierok predmetov. Ide o postupnosť metód, ktoré možno zostaviť tak, aby sa dosiahol požadovaný výsledok. Pamätajte, že to nemení pôvodnú dátovú štruktúru. Poskytuje výstup založený na zreťazených metódach. Stream môžeme dosiahnuť mnohými spôsobmi, ale v nasledujúcom programe sme použili Arrays.stream(Object[]) dosiahnuť prúd.

Collectors.toList() metóda: Metóda vráti kolektor, ktorý zhromažďuje vstupné prvky do novovytvoreného zoznamu v metóde stretnutia.

Syntax:

 public static Collector<t,?,list> toList() </t,?,list>

Kde T je typ prvku, ktorý sme zadali. Metóda neposkytuje záruky typu, meniteľnosti, bezpečnosti vlákien a serializácie.

Použime Stream API v programe Java a skonvertujme pole na zoznam.

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[] = { &apos;Python&apos;, &apos;HTM&apos;, &apos;Java&apos;, &apos;C&apos;, &apos;C++&apos;, &apos;JavaScript&apos;, &apos;Ruby&apos;, &apos;Swift&apos;, &apos;PHP&apos; }; //prints the Array before conversion System.out.println(&apos;Array: &apos;+ 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(&apos;List: &apos; + list); } } 

Výkon:

Java Array to List

Použitie Guava Lists.newArrayList()

Je to metóda zoznamy triedy, do ktorej patria com.google.common.collect balík. Trieda poskytuje metódu newArrayList() ktorý vytvorí meniteľnú prázdnu inštanciu ArrayList s prvkami zadaného poľa.

Syntax:

 public static ArrayList newArrayList(E... elements) 

Poznámka: Metóda newArrayList() je dostupná pre Java 6 a staršie verzie. V neskorších verziách je zastaraný. Namiesto vyššie uvedenej metódy používame priamo konštruktor ArrayList.

ArrayToListExample5.java

premenovanie priečinka v linuxe
 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[] = { &apos;Mango&apos;, &apos;Banana&apos;, &apos;Grapes&apos;, &apos;Apple&apos;, &apos;Plum&apos;, &apos;Blackberry&apos;, &apos;Papaya&apos;, &apos;Orange&apos; }; //prints the Array before conversion System.out.println(&apos;Array: &apos;+ Arrays.toString(arr)); //convert the Array to List List list = ArrayToListConversion(arr); //prints the List System.out.println(&apos;List: &apos; + 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); } } 

Výkon:

Java Array to List