logo

Java Array za seznam

V Javi, Array in Seznam sta dve najpomembnejši podatkovni strukturi. V tem razdelku se bomo naučili kako pretvoriti Java Array v seznam. Tudi mi smo ustvarili Java programi ki pretvori matriko v seznam z uporabo različnih metod Java.

Pretvorba polja v seznam v Javi

Java polje je zbirka več vrednosti istega podatkovnega tipa. Matrika lahko vsebuje predmete in primitivne vrste. Odvisno je od definicije niza. Če je definicija matrike primitivnega tipa, se vrednosti matrike shranijo na nalezljivo pomnilniško lokacijo. Če matrika vsebuje elemente objektov, elemente, shranjene v segmentu kopice.

kaj je 10 od 100

notri Java , a Seznam je vmesnik, ki spada v okvir Java Collections. Elemente v obliki objektov shranjuje na urejen način in ohranja vrstni red vstavljanja. Omogoča nam shranjevanje podvojenih vrednosti. Razredi ArrayList , LinkedList , Vektor in Stack implementira vmesnik List.

Java Array za seznam

Java ponuja pet načinov za pretvorbo matrike v seznam, ki so naslednji:

  • Naravna metoda
  • Uporaba metode Arrays.asList().
  • Uporaba metode Collections.addAll().
  • Uporaba Java 8 Stream API
  • Uporaba metode Guava Lists.newArrayList().

Naravna metoda

To je najpreprostejši način za pretvorbo polja Java v seznam. Pri tej metodi najprej ustvarimo prazen seznam in dodamo vse elemente matrike vanj. Poglejmo primer.

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

Izhod:

Java Array za seznam

Uporaba metode Arrays.asList().

To je metoda razreda Java Arrays, ki pripada paketu java.util. Ko uporabljamo metodo asList() z metodo Collection.toArray(), deluje kot most med API-ji, ki temeljijo na matriki, in API-ji, ki temeljijo na zbirkah.

Sintaksa:

 public static List asList(T... a) 

Metoda razčleni matriko kot parameter, s katerim bo podprt seznam. Vrne pogled seznama določene matrike s fiksno velikostjo, ki ga je mogoče serializirati. Poglejmo primer.

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

Izhod:

Java Array za seznam

Uporaba metode Collections.addAll().

Gre za metodo Zbirke Java razred. pripada paketu java.util. Razred nudi metodo z imenom dodajVse() . Metodo lahko uporabimo za pretvorbo matrike v seznam. Doda vse elemente v navedeno zbirko. Elemente lahko podajamo posamezno ali v obliki niza. Deluje enako kot c.addAll(Arrays.asList(elements)). To je hitrejša izvedba kot druga izvedba.

Sintaksa:

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

Razčleni dva parametra:

    c:Je zbirka, v katero je treba dodati elemente.elementi: Elemente je treba vstaviti v c.

Vrača se prav če se je zbirka spremenila zaradi klica. Omogoča naslednje izjeme:

  • Če parameter c ne podpira operacije dodajanja, vrže UnsupportedOperationException .
  • Če podani elementi matrike vsebujejo eno ali več ničelnih vrednosti in c ne dovoljuje ničelnih elementov, vrže NullPointerException .
  • Če katerikoli element matrike prepreči, da bi bil dodan parametru c, vrže IllegalPointerException .

Poglejmo primer.

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

Izhod:

Java Array za seznam

Uporaba Java 8 Stream API

Java 8 ponuja Stream API za obdelavo zbirk predmetov. To je zaporedje metod, ki jih je mogoče cevovodno pripraviti, da dosežemo želeni rezultat. Ne pozabite, da ne spremeni izvorne strukture podatkov. Zagotavlja izhod na podlagi cevovodnih metod. Stream lahko dosežemo na več načinov, vendar v naslednjem programu, ki smo ga uporabili Arrays.stream(Object[]) doseči tok.

Metoda Collectors.toList(): Metoda vrne zbiralnik, ki zbere vhodne elemente v na novo ustvarjen seznam v metodi srečanja.

Sintaksa:

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

Kjer je T tip elementa, ki smo ga določili. Metoda ne zagotavlja jamstev glede tipa, spremenljivosti, varnosti niti in možnosti serializacije.

ternarni operater java

Uporabimo Stream API v programu Java in pretvorimo matriko v seznam.

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

Izhod:

Java Array za seznam

Uporaba Guava Lists.newArrayList()

Gre za metodo Seznami razredu, ki pripada com.google.common.collect paket. Razred ponuja metodo novArrayList() ki ustvari spremenljiv prazen primerek ArrayList z elementi navedene matrike.

Sintaksa:

 public static ArrayList newArrayList(E... elements) 

Opomba: metoda newArrayList() je na voljo za Javo 6 in starejše različice. V novejših različicah je zastarel. Namesto zgornje metode uporabljamo neposredno konstruktor ArrayList.

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[] = { &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); } } 

Izhod:

Java Array za seznam