logo

Tablica Java do listy

na Jawie, Szyk I Lista to dwie najważniejsze struktury danych. W tej części się dowiemy jak przekonwertować tablicę Java na listę. My również stworzyliśmy Programy Java które konwertują tablicę na listę przy użyciu różnych metod Java.

Konwersja tablicy na listę w Javie

Tablica Java jest zbiorem wielu wartości tego samego typu danych. Tablica może zawierać obiekty i typy pierwotne. To zależy od definicji tablicy. Jeśli definicja tablicy jest typu pierwotnego, wartości tablicy są przechowywane w zakaźnej lokalizacji pamięci. Jeśli tablica zawiera elementy obiektów, elementy przechowywane są w segmencie sterty.

W Jawa , A Lista to interfejs należący do frameworka Java Collections. Przechowuje elementy w postaci obiektów w uporządkowany sposób i zachowuje kolejność wstawiania. Pozwala nam przechowywać zduplikowane wartości. Klasy Lista tablic , Połączona lista , Wektor I Stos implementuje interfejs List.

znak na ciąg Java
Tablica Java do listy

Java udostępnia pięć metod konwersji tablicy na listę:

  • Metoda natywna
  • Korzystanie z metody Arrays.asList().
  • Korzystanie z metody Collections.addAll().
  • Korzystanie z interfejsu API strumienia Java 8
  • Korzystanie z metody Guava Lists.newArrayList().

Metoda natywna

Jest to najprostsza metoda konwersji tablicy Java na listę. W tej metodzie najpierw tworzymy pustą listę i dodajemy do niej wszystkie elementy tablicy. Zobaczmy przykład.

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

Wyjście:

Tablica Java do listy

Korzystanie z metody Arrays.asList().

Jest to metoda klasy Java Arrays należącej do pakietu java.util. Kiedy używamy metody asList() z metodą Collection.toArray(), działa ona jako pomost pomiędzy interfejsami API opartymi na tablicach i kolekcjach.

Składnia:

 public static List asList(T... a) 

Metoda analizuje tablicę jako parametr, według którego lista będzie bazowana. Zwraca możliwy do serializacji widok listy o stałym rozmiarze określonej tablicy. Zobaczmy przykład.

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

Wyjście:

Tablica Java do listy

Korzystanie z metody Collections.addAll().

Jest to metoda tzw Kolekcje Javy klasa. należy do pakietu java.util. Klasa udostępnia metodę o nazwie dodać wszystko() . Możemy użyć tej metody do konwersji tablicy na listę. Dodaje wszystkie elementy do określonej kolekcji. Elementy możemy określać pojedynczo lub w formie tablicy. Działa tak samo jak c.addAll(Arrays.asList(elementy)). Jest to szybsze wdrożenie niż kolejne wdrożenie.

Składnia:

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

Analizuje dwa parametry:

    C:Jest to kolekcja, do której należy dodać elementy.elementy: Elementy należy wstawić do c.

To powraca PRAWDA jeśli kolekcja uległa zmianie w wyniku wywołania. Zgłasza następujące wyjątki:

k algorytm najbliższego sąsiada
  • Jeśli parametr c nie obsługuje operacji dodawania, zostanie zgłoszony Nieobsługiwany wyjątek operacji .
  • Jeśli określone elementy tablicy zawierają jedną lub więcej wartości null, a c nie zezwala na elementy null, zgłasza Wyjątek NullPointer .
  • Jeśli jakikolwiek element tablicy uniemożliwia dodanie go do parametru c, zgłasza Wyjątek IllegalPointerException .

Zobaczmy przykład.

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

Wyjście:

Tablica Java do listy

Korzystanie z interfejsu API strumienia Java 8

Java 8 udostępnia interfejs API strumienia do przetwarzania kolekcji obiektów. Jest to sekwencja metod, które można potokować w celu uzyskania pożądanego rezultatu. Pamiętaj, że nie zmienia to oryginalnej struktury danych. Zapewnia dane wyjściowe w oparciu o metody potokowe. Strumień możemy osiągnąć na wiele sposobów, ale w poniższym programie użyliśmy Arrays.stream(Obiekt[]) aby dotrzeć do strumienia.

Metoda Collectors.toList(): Metoda zwraca Collector, który zbiera elementy wejściowe do nowo utworzonej Listy w metodzie spotkania.

Składnia:

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

Gdzie T jest typem elementu, który określiliśmy. Metoda nie zapewnia gwarancji typu, zmienności, bezpieczeństwa wątków i możliwości serializacji.

Użyjmy interfejsu Stream API w programie Java i przekonwertujmy tablicę na listę.

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

Wyjście:

Tablica Java do listy

Korzystanie z Guava Lists.newArrayList()

Jest to metoda tzw Listy klasa, do której należą com.google.common.collect pakiet. Klasa udostępnia metodę nowaListaArray() który tworzy zmienną, pustą instancję ArrayList zawierającą elementy określonej tablicy.

Składnia:

 public static ArrayList newArrayList(E... elements) 

Uwaga: Metoda newArrayList() jest dostępna dla wersji Java 6 i wcześniejszych. W późniejszych wersjach jest to przestarzałe. Zamiast powyższej metody używamy bezpośrednio konstruktora ArrayList.

ArrayToListExample5.java

Zainicjuj listę Pythona
 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); } } 

Wyjście:

Tablica Java do listy