java arraylist conversions other collections
Цей підручник обговорює конверсії ArrayList до інших колекцій, таких як Set, LinkedList, Lists тощо, а також відмінності між цими колекціями:
Дотепер ми бачили майже всі концепції, пов'язані з ArrayList в Java. Окрім створення та управління ArrayList за допомогою різних операцій або методів, наданих класом ArrayList, іноді також потрібно перетворити ArrayList в одну або кілька колекцій.
=> Завітайте сюди, щоб вивчити Java з нуля.
У цьому посібнику ми обговоримо деякі перетворення з ArrayList в інші колекції, що включають List, LinkedList, Vector, Set тощо. Ми також розглянемо перетворення між ArrayList і String. Після перетворення ми також обговоримо відмінності між ArrayLists та іншими колекціями - Arrays, List, Vector, LinkedList тощо.
Що ви дізнаєтесь:
- Перетворення ArrayList в рядок
- Перетворення рядка в ArrayList
- Перетворити список на ArrayList в Java
- Перетворити ArrayList для встановлення на Java
- Перетворити встановлений на ArrayList в Java
- Масив ArrayList в Java
- ArrayList of Arrays in Java
- Список Vs ArrayList в Java
- Вектор проти ArrayList
- ArrayList проти LinkedList
- Часті запитання
- Висновок
- Рекомендована література
Перетворення ArrayList в рядок
Наступні методи можна використовувати для перетворення ArrayList у String.
# 1) Використання об’єкта StringBuilder
import java.util.ArrayList; public class Main { public static void main(String args()) { //Create and initialize the ArrayList ArrayList strList = new ArrayList(); strList.add('Software'); strList.add('Testing'); strList.add('Help'); //print the ArrayList System.out.println('The ArrayList: ' + strList); //define a stringbuilder object StringBuffer sb = new StringBuffer(); //append each ArrayList element to the stringbuilder object for (String str : strList) { sb.append(str + ' '); } //convert stringbuilder to string and print it. String myStr = sb.toString(); System.out.println('
String from ArrayList: ' + myStr); } }
Вихід:
ArrayList: (Програмне забезпечення, тестування, довідка)
Рядок з ArrayList: Довідка щодо тестування програмного забезпечення
У наведеній вище програмі створюється об’єкт StringBuilder. Потім, використовуючи цикл forEach, кожен елемент у ArrayList додається до об’єкта StringBuilder. Потім об’єкт StringBuilder перетворюється на рядок. Зверніть увагу, що за допомогою методу StringBuilder ‘додати’; Ви також можете додати відповідний роздільник до рядка.
У наведеному вище прикладі ми використовували пробіл (““) як роздільник.
# 2) Використання методу String.join ()
Метод String.join () може бути використаний для перетворення ArrayList у String. Тут ви також можете передати відповідний роздільник методу з'єднання.
Програма демонструє це.
import java.util.ArrayList; public class Main { public static void main(String() args) { // create and initialize the ArrayList ArrayList metroList = new ArrayList(); metroList.add('Delhi'); metroList.add('Mumbai'); metroList.add('Chennai'); metroList.add('Kolkata'); //print the ArrayList System.out.println('The ArrayList: ' + metroList); // Join with an empty delimiter to concat all strings. String resultStr = String.join(' ', metroList); System.out.println('
String converted from ArrayList: '+resultStr); } }
Вихід:
Список масивів: (Делі, Мумбаї, Ченнаї, Колката)
Рядок перетворено з ArrayList: Делі Мумбаї Ченнаї, Калькута
Ви можете бачити, що ми безпосередньо передаємо ArrayList як аргумент методу String.join () разом з роздільником.
Для простих String ArrayLists String.join () є найкращим методом перетворення в String. Але для більш складних об'єктів ArrayLists використання StringBuilder є більш ефективним.
Перетворення рядка в ArrayList
Для перетворення рядка в ArrayList є два кроки:
- Рядок розбивається за допомогою функції split (), а підрядки (розбиті на відповідний роздільник) зберігаються у масиві рядків.
- Потім масив рядків, отриманий в результаті розбиття рядка, перетворюється на ArrayList за допомогою методу ‘asList ()’ класу Arrays.
Програма для перетворення рядка в ArrayList подана нижче.
import java.util.ArrayList; import java.util.List; import java.util.Arrays; public class Main { public static void main(String args()){ //define a string String myStr = 'The string to ArrayList program'; //convert string to array using split function on spaces String strArray() = myStr.split(' '); //print the string System.out.println('The input string : ' + myStr); //declare an ArrayList List strList = new ArrayList(); //convert string array to ArrayList using asList method strList = Arrays.asList(strArray); //print the resultant ArrayList System.out.println('
The ArrayList from String:' + strList ); } }
Вихід:
Вхідний рядок: рядок для програми ArrayList
ArrayList зі рядка: (The, string, to, ArrayList, програма)
У наведеній вище програмі ми розділяємо рядок на пробіли та збираємо його в масив рядків. Потім цей масив перетворюється на ArrayList рядків.
Перетворити список на ArrayList в Java
ArrayList реалізує інтерфейс List. Якщо ви хочете перетворити List на його реалізацію, як ArrayList, тоді ви можете зробити це, використовуючи метод addAll інтерфейсу List.
Програма нижче показує перетворення списку в ArrayList, додаючи всі елементи списку в ArrayList.
import java.util.ArrayList; import java.util.List; public class Main { public static void main(String a()){ //create a list & initiliaze it List collections_List = new ArrayList(); collections_List.add('ArrayList'); collections_List.add('Vector'); collections_List.add('LinkedList'); collections_List.add('Stack'); collections_List.add('Set'); collections_List.add('Map'); //print the list System.out.println('List contents: '+collections_List); //create an ArrayList ArrayList myList = new ArrayList(); //use addAll() method to add list elements to ArrayList myList.addAll(collections_List); //print the ArrayList System.out.println('
ArrayList after adding elements: '+myList); } }
Вихід:
Зміст списку: (ArrayList, Vector, LinkedList, Stack, Set, Map)
ArrayList після додавання елементів: (ArrayList, Vector, LinkedList, Stack, Set, Map)
mysql проти sql сервера проти oracle
Перетворити ArrayList для встановлення на Java
Наступні методи перетворюють ArrayList у набір.
# 1) Використання традиційного ітеративного підходу
Це традиційний підхід. Тут ми перебираємо список і додаємо кожен елемент ArrayList до набору.
У наведеній нижче програмі ми маємо ArrayList рядка. Ми оголошуємо HashSet рядка. Потім, використовуючи цикл forEach, ми перебираємо ArrayList і додаємо кожен елемент до HashSet.
Подібним чином ми можемо також перетворити ArrayList у treeSet.
import java.util.*; class Main { public static void main(String() args) { // Create & initialize an ArrayList ArrayList colorsList = new ArrayList (Arrays.asList('Red', 'Green', 'Blue', 'Cyan', 'Magenta', 'Yellow')); //print the ArrayList System.out.println('The ArrayList:' + colorsList); //Declare a HashSet Set hSet = new HashSet(); //Add each ArrayList element to the set for (String x : colorsList) hSet.add(x); //Print the HashSet System.out.println('
HashSet obtained from ArrayList: ' + hSet); } }
Вихід:
Список масивів: (Червоний, Зелений, Синій, Блакитний, Пурпуровий, Жовтий)
HashSet отримано з ArrayList: (Червоний, Блакитний, Синій, Жовтий, Пурпуровий, Зелений)
# 2) Використання конструктора наборів
Наступним методом перетворення ArrayList у набір є використання конструктора. У цьому методі ми передаємо ArrayList як аргумент конструктору множини і таким чином ініціалізуємо об'єкт set елементами ArrayList.
У наведеній нижче програмі показано використання ArrayList при створенні набору об'єктів.
що може відкрити файл .dat
import java.util.*; class Main { public static void main(String() args) { // Create & initialize an ArrayList ArrayList colorsList = new ArrayList (Arrays.asList('Red', 'Green', 'Blue', 'Cyan', 'Magenta', 'Yellow')); //print the ArrayList System.out.println('The ArrayList:' + colorsList); //Declare a TreeSet Set tSet = new TreeSet(colorsList); //Print the TreeSet System.out.println('
TreeSet obtained from ArrayList: ' + tSet); } }
Вихід:
Список масивів: (Червоний, Зелений, Синій, Блакитний, Пурпуровий, Жовтий
Набір дерев, отриманий з ArrayList: (Синій, Блакитний, Зелений, Пурпуровий, Червоний, Жовтий)
# 3) Використання методу addAll
Ви також можете використовувати метод addAll Set, щоб додати всі елементи ArrayList до набору.
Наступна програма використовує метод addAll для додавання елементів ArrayList до HashSet.
import java.util.*; class Main { public static void main(String() args) { // Create & initialize an ArrayList ArrayList colorsList = new ArrayList (Arrays.asList('Red', 'Green', 'Blue', 'Cyan', 'Magenta', 'Yellow')); //print the ArrayList System.out.println('The ArrayList:' + colorsList); //Declare a HashSet Set hSet = new HashSet(); //use addAll method of HashSet to add elements of ArrayList hSet.addAll(colorsList); //Print the HashSet System.out.println('
HashSet obtained from ArrayList: ' + hSet); } }
Вихід:
Список масивів: (Червоний, Зелений, Синій, Блакитний, Пурпуровий, Жовтий)
HashSet отримано з ArrayList: (Червоний, Блакитний, Синій, Жовтий, Пурпуровий, Зелений)
# 4) Використання Java 8 Stream
Потоки - це нові доповнення до Java 8. Цей клас потоку забезпечує спосіб перетворення ArrayList у потік, а потім для встановлення.
Програма Java нижче демонструє використання методу потокового класу для перетворення ArrayList у встановлений.
import java.util.*; import java.util.stream.*; class Main { public static void main(String() args) { // Create & initialize an ArrayList ArrayList colorsList = new ArrayList (Arrays.asList('Red', 'Green', 'Blue', 'Cyan', 'Magenta', 'Yellow')); //print the ArrayList System.out.println('The ArrayList:' + colorsList); // Convert ArrayList to set using stream Set set = colorsList.stream().collect(Collectors.toSet()); //Print the Set System.out.println('
Set obtained from ArrayList: ' + set); } }
Вихід:
Список масивів: (Червоний, Зелений, Синій, Блакитний, Пурпуровий, Жовтий)
Набір отримано з ArrayList: (Червоний, Блакитний, Синій, Жовтий, Пурпуровий, Зелений)
Перетворити встановлений на ArrayList в Java
В останньому розділі ми бачили перетворення ArrayList на Set. Перетворення з Set в ArrayList також використовує ті ж методи, що описані вище, з тією різницею, що змінюється позиція набору та ArrayList.
Нижче наведено приклади програмування для перетворення Set в ArrayList. Інший опис кожного методу залишається незмінним.
# 1) Ітераційний підхід
import java.util.*; class Main { public static void main(String() args) { // Create a set of strings & add elements to it Set set = new HashSet(); set.add('One'); set.add('Two'); set.add('Three'); //print the set System.out.println('The given Set: ' + set); //create an ArrayList ArrayList numList = new ArrayList(set.size()); //add each set element to the ArrayList using add method for (String str : set) numList.add(str); //print the ArrayList System.out.println('
ArrayList obtained from Set: ' + numList); } }
Вихід:
Даний набір: (Один, Два, Три)
ArrayList, отриманий із набору: (Один, два, три)
У наведеній вище програмі ми перебираємо Set, і кожен елемент набору додається до ArrayList.
# 2) Використання конструктора
import java.util.*; class Main { public static void main(String() args) { // Create a set of strings & add elements to it Set set = new HashSet(); set.add('One'); set.add('Two'); set.add('Three'); //print the set System.out.println('The given Set: ' + set); //create an ArrayList and pass set to the constructor List numList = new ArrayList(set); //print the ArrayList System.out.println('
ArrayList obtained from Set: ' + numList); } }
Вихід:
Даний набір: (Один, Два, Три)
ArrayList, отриманий із набору: (Один, два, три)
Вищевказана програма створює набір і ArrayList. Об'єкт ArrayList створюється шляхом надання набору об'єктів як аргументу в його конструкторі.
# 3) Використання методу addAll
import java.util.*; class Main { public static void main(String() args) { // Create a set of strings & add elements to it Set set = new HashSet(); set.add('One'); set.add('Two'); set.add('Three'); //print the set System.out.println('The given Set: ' + set); //create an ArrayList List numList = new ArrayList(); //use addAll method of ArrayList to add elements of set numList.addAll(set); //print the ArrayList System.out.println('
ArrayList obtained from Set: ' + numList); } }
Вихід:
Даний набір: (Один, Два, Три)
ArrayList, отриманий із набору: (Один, два, три)
Тут ми використовуємо метод addAll ArrayList, щоб додати елементи з набору до ArrayList.
# 4) Використання Java 8 Stream
import java.util.*; import java.util.stream.*; class Main { public static void main(String() args) { // Create a set of strings & add elements to it Set set = new HashSet(); set.add('One'); set.add('Two'); set.add('Three'); //print the set System.out.println('The given Set: ' + set); //create an ArrayList and using stream method,assign stream of elements to ArrayList List numList = set.stream().collect(Collectors.toList()); //print the ArrayList System.out.println('
ArrayList obtained from Set: ' + numList); } }
Вихід:
Даний набір: (Один, Два, Три)
ArrayList, отриманий із набору: (Один, два, три)
Наведена вище програма використовує клас потоку для перетворення Set в ArrayList.
Масив ArrayList в Java
Як випливає з назви, масив ArrayList складається з ArrayLists як його елементів. Хоча функція не використовується регулярно, вона використовується, коли ефективним використанням місця в пам'яті є вимога.
Наступна програма реалізує в Java масив ArrayLists.
import java.util.ArrayList; import java.util.List; public class Main { public static void main(String() args) { //define and initialize a num_list List num_list = new ArrayList(); num_list.add('One'); num_list.add('Two'); num_list.add('Two'); //define and initialize a colors_list List colors_list = new ArrayList(); colors_list.add('Red'); colors_list.add('Green'); colors_list.add('Blue'); //define Array of ArrayList with two elements List() arrayOfArrayList = new List(2); //add num_list as first element arrayOfArrayList(0) = num_list; //add colors_list as second element arrayOfArrayList(1) = colors_list; //print the contents of Array of ArrayList System.out.println('Contents of Array of ArrayList:'); for (int i = 0; i Вихід:
приклад інтелектуального аналізу даних у бізнесі
Зміст масиву ArrayList:
(Один, два, два)
(Червоний, Зелений, Синій)

У наведеній вище програмі ми спочатку визначаємо два списки. Потім ми оголошуємо масив із двох ArrayList. Кожен елемент цього масиву - це ArrayList, визначений раніше. Нарешті, вміст масиву ArrayList відображається за допомогою циклу for.
ArrayList of Arrays in Java
Подібно до того, як у нас є масив ArrayLists, ми також можемо мати ArrayList з масивів. Тут кожен окремий елемент ArrayList є Array.
Наведена нижче програма демонструє ArrayList of Arrays.
import java.util.*; public class Main { public static void main(String() args) { // declare ArrayList of String arrays ArrayList ArrayList_Of_Arrays = new ArrayList(); //define individual string arrays String() colors = { 'Red', 'Green', 'Blue' }; String() cities = { 'Pune', 'Mumbai', 'Delhi'}; //add each array as element to ArrayList ArrayList_Of_Arrays.add(colors); ArrayList_Of_Arrays.add(cities); // print ArrayList of Arrays System.out.println('Contents of ArrayList of Arrays:'); for (String() strArr : ArrayList_Of_Arrays) { System.out.println(Arrays.toString(strArr)); } } }
Вихід:
Зміст ArrayList of Arrays:
(Червоний, Зелений, Синій)
(Пуна, Мумбаї, Делі)

Наведена вище програма демонструє ArrayList з масивів. Спочатку ми оголошуємо ArrayList рядкових масивів. Це означає, що кожен елемент ArrayList буде String Array. Далі визначаємо два рядкові масиви. Потім кожен із масивів додається до списку ArrayList. Нарешті, ми друкуємо вміст ArrayList з масивів.
Щоб надрукувати вміст, ми проходимо ArrayList, використовуючи цикл for. Для кожної ітерації ми друкуємо вміст елемента ArrayList, який має Array, використовуючи метод Arrays.toString ().
Список Vs ArrayList в Java
Наступні таблиці показують деякі відмінності між List і ArrayList.
Список ArrayList Список є інтерфейсом на Java ArrayList є частиною фреймворку Java Collection Список реалізований як інтерфейс ArrayList реалізований як клас колекції Розширює інтерфейс колекції реалізує інтерфейс List та розширює AbstractList Частина простору імен System.Collection.generic Частина простору імен System.Collections За допомогою List можна створити список елементів, доступ до яких можна отримати за допомогою індексів. Використовуючи ArrayList, ми можемо створити динамічний масив елементів або об’єктів, розмір яких автоматично змінюється зі змінами вмісту.
Вектор проти ArrayList
Нижче наведено деякі відмінності між Vector та ArrayList.
ArrayList LinkedList ArrayList реалізує інтерфейс List LinkedList реалізує інтерфейси List та Deque. Зберігання даних та доступ до них ефективні в ArrayList. LinkedList добре обробляє дані. ArrayList внутрішньо реалізує динамічний масив. LinkedList внутрішньо реалізує подвійно пов’язаний список. Оскільки ArrayList внутрішньо реалізує динамічний масив, додавання / видалення елементів відбувається повільно, оскільки потрібно багато бітових змін. LinkedList є швидшим, що стосується додавання / видалення елементів, оскільки ніяке зміщення бітів не потрібно. Менше накладних витрат на пам’ять, оскільки в ArrayList зберігаються лише фактичні дані. Більше накладних витрат на пам’ять, оскільки кожен вузол у LinkedList містить дані, а також адресу наступного вузла.
ArrayList проти LinkedList
Давайте зараз обговоримо різні відмінності між ArrayList та LinkedList.
ArrayList LinkedList ArrayList реалізує інтерфейс List LinkedList реалізує інтерфейси List та Deque. Зберігання даних та доступ до них ефективні в ArrayList. LinkedList добре обробляє дані. ArrayList внутрішньо реалізує динамічний масив. LinkedList внутрішньо реалізує подвійно пов’язаний список. Оскільки ArrayList внутрішньо реалізує динамічний масив, додавання / видалення елементів відбувається повільно, оскільки потрібно багато бітових змін. LinkedList є швидшим, що стосується додавання / видалення елементів, оскільки ніяке зміщення бітів не потрібно. Менше накладних витрат на пам’ять, оскільки в ArrayList зберігаються лише фактичні дані. Більше накладних витрат на пам’ять, оскільки кожен вузол у LinkedList містить дані, а також адресу наступного вузла.
Часті запитання
Q # 1) Як перетворити ArrayList на Array у Java?
Відповідь: Щоб перетворити ArrayList в Array в Java, можна використовувати метод toArray () з API ArrayList, який перетворює даний ArrayList в Array.
Q # 2) Як розділити рядок і зберегти його в ArrayList на Java?
Відповідь: Рядок розбивається за допомогою функції split (). Цей метод повертає масив рядків. Потім, використовуючи метод Arrays.asList (), масив рядків можна перетворити на ArrayList рядків.
Q # 3) Який розмір ArrayList за замовчуванням?
Відповідь: Об'єкт ArrayList, створений без зазначення ємності, має розмір 0, оскільки до списку немає елементів. Але ємність цього ArrayList за замовчуванням - 10.
Q # 4) Яка різниця між довжиною () та розміром () ArrayList?
Відповідь: ArrayList не має властивості або методу length (). Він надає лише метод size (), який повертає загальну кількість елементів у ArrayList.
Q # 5) Яка різниця між місткістю та розміром ArrayList?
Відповідь: ArrayList має як ємність, так і розмір. Ємність - це загальний розмір ArrayList або загальна кількість елементів, які він може вмістити. Розмір - це кількість елементів або розташувань, що містять дані.
Наприклад, якщо ємність ArrayList 10, а його розмір 5, це означає, що ArrayList може вміщувати до 10 елементів, але в даний час дані містять лише 5 місцеположень.
Висновок
У цьому підручнику ми обговорили деякі додаткові концепції, пов'язані з ArrayList, такі як перетворення ArrayList у рядок, список, набір та навпаки. Ми також обговорили відмінності між ArrayList та Vector, ArrayList та LinkedList тощо.
У нашому майбутньому підручнику ми візьмемо ще одну колекцію і ретельно її вивчимо.
=> Перегляньте тут, щоб побачити A-Z навчальних посібників з навчання Java тут.
Рекомендована література
- Рядок Java із підручником для буфера рядків та побудови рядків
- Java ArrayList - Як оголосити, ініціалізувати та надрукувати ArrayList
- Підручник з роздумів про Java з прикладами
- Підручник із рядків Java | Рядові методи Java на прикладах
- Потоки Java з методами та життєвим циклом
- Розгортання Java: Створення та виконання файлу JAR Java
- Основи Java: Синтаксис Java, клас Java та основні концепції Java
- Віртуальна машина Java: як JVM допомагає у запуску програми Java