На Java, Масив і Список це дві найважливіші структури даних. У цьому розділі ми дізнаємося як перетворити масив Java на список. Ми також створили Java програми які перетворюють масив на список за допомогою різних методів Java.
Перетворення масиву на список у Java
Масив Java це сукупність кількох значень одного типу даних. Масив може містити об’єкти та примітивні типи. Це залежить від визначення масиву. Якщо визначення масиву має примітивний тип, значення масиву зберігаються в місці заразної пам’яті. Якщо масив містить елементи об’єктів, елементи зберігаються в сегменті купи.
в Java , а Список це інтерфейс, який належить до структури Java Collections. Він зберігає елементи у формі об’єктів у впорядкованому порядку та зберігає порядок вставки. Це дозволяє нам зберігати повторювані значення. Класи ArrayList , LinkedList , Вектор і Стек реалізує інтерфейс списку.
У Java передбачено п’ять методів перетворення масиву в список:
отримати довжину масиву в c
- Рідний метод
- Використання методу Arrays.asList().
- Використання методу Collections.addAll().
- Використання Java 8 Stream API
- Використання методу Guava Lists.newArrayList().
Рідний метод
Це найпростіший спосіб перетворити масив Java на список. У цьому методі ми спочатку створюємо порожній список і додаємо в нього всі елементи масиву. Давайте розглянемо приклад.
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; } }
Вихід:
Використання методу Arrays.asList().
Це метод класу Java Arrays, який належить пакету java.util. Коли ми використовуємо метод asList() із методом Collection.toArray(), він працює як міст між API на основі масиву та на основі колекції.
Синтаксис:
public static List asList(T... a)
Метод аналізує масив як параметр, за допомогою якого буде підтримуватися список. Він повертає серіалізований список фіксованого розміру вказаного масиву. Давайте розглянемо приклад.
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; } }
Вихід:
гра pigeon на андроїд
Використання методу Collections.addAll().
Це метод Колекції Java клас. він належить пакету java.util. Клас надає метод під назвою addAll() . Ми можемо використовувати метод для перетворення масиву в список. Він додає всі елементи до вказаної колекції. Ми можемо вказати елементи як окремо, так і у вигляді масиву. Він працює так само, як c.addAll(Arrays.asList(elements)). Це швидша реалізація, ніж інша реалізація.
Синтаксис:
public static boolean addAll(Collection c, T... elements)
Він аналізує два параметри:
Воно повертається правда якщо колекція змінилася в результаті виклику. Він створює наступні винятки:
- Якщо параметр c не підтримує операцію додавання, він викидає UnsupportedOperationException .
- Якщо вказані елементи масиву містять одне або більше нульових значень, а c не дозволяє нульові елементи, він викидає NullPointerException .
- Якщо будь-який елемент масиву перешкоджає його додаванню до параметра c, він викидає IllegalPointerException .
Давайте розглянемо приклад.
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; } }
Вихід:
obj в java
Використання Java 8 Stream API
Java 8 надає Stream API опрацювати колекції об'єктів. Це послідовність методів, які можуть бути конвеєрними для отримання бажаного результату. Пам’ятайте, що це не змінює вихідну структуру даних. Він забезпечує вихід на основі конвеєрних методів. Ми можемо отримати Stream кількома способами, але в наведеній нижче програмі ми використали Arrays.stream(Object[]) щоб досягти потоку.
Метод Collectors.toList(): Метод повертає Collector, який збирає вхідні елементи в щойно створений список у методі зустрічі.
Синтаксис:
public static Collector<t,?,list> toList() </t,?,list>
Де T — тип елемента, який ми вказали. Метод не надає гарантій щодо типу, змінності, потокової безпеки та серіалізації.
Давайте використаємо Stream API у програмі на Java та перетворимо масив на список.
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); } }
Вихід:
Використання Guava Lists.newArrayList()
Це метод списки класу, до якого належать com.google.common.collect пакет. Клас надає метод newArrayList() який створює змінний порожній екземпляр ArrayList, що містить елементи вказаного масиву.
Синтаксис:
java print
public static ArrayList newArrayList(E... elements)
Примітка. Метод newArrayList() доступний для Java 6 і попередніх версій. У пізніших версіях він застарів. Замість вищезазначеного методу ми безпосередньо використовуємо конструктор 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[] = { '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); } }
Вихід: