java arraylist conversions other collections
У овом водичу се разматрају конверзије АрраиЛист-а у друге колекције као што су Сет, ЛинкедЛист, Листс итд., Заједно са разликама између ових колекција:
До сада смо видели готово све концепте повезане са АрраиЛист у Јави. Поред креирања и манипулације АрраиЛист-ом помоћу различитих операција или метода које нуди класа АрраиЛист, понекад је потребно и АрраиЛист претворити у једну или више колекција.
=> Посетите овде да бисте научили Јаву из нуле.
У овом упутству ћемо размотрити неке конверзије из АрраиЛист-а у друге колекције које укључују Лист, ЛинкедЛист, Вецтор, Сет итд. Такође ћемо размотрити конверзију између АрраиЛист-а и Стринг-а. Након конверзија, разговараћемо и о разликама између АрраиЛистс и других колекција - Низова, Листа, Вектора, ЛинкедЛист итд.
Шта ћете научити:
- Конверзија АрраиЛист у низ
- Стринг то АрраиЛист Цонверсион
- Претвори листу у АрраиЛист у Јави
- Конвертујте АрраиЛист у Јава
- Претвори постављено у АрраиЛист у Јави
- Низ АрраиЛист-а у Јави
- АрраиЛист оф Арраис Ин Јава
- Листа Вс АрраиЛист у Јави
- Вецтор Вс АрраиЛист
- АрраиЛист вс ЛинкедЛист
- Често постављана питања
- Закључак
- Препоручено читање
Конверзија АрраиЛист у низ
Следеће методе се могу користити за претварање АрраиЛист у Стринг.
# 1) Коришћење објекта СтрингБуилдер
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); } }
Излаз:
АрраиЛист: (Софтвер, тестирање, помоћ)
Низ из АрраиЛист: Помоћ за тестирање софтвера
У горњем програму створен је СтрингБуилдер објекат. Затим се помоћу форЕацх петље сваки елемент у АрраиЛист додаје објекту СтрингБуилдер. Тада се СтрингБуилдер објекат претвара у низ. Имајте на уму да се помоћу методе „додавање“ СтрингБуилдер; низу можете додати и одговарајући граничник.
У горњем примеру користили смо размак („“) као граничник.
# 2) Коришћењем методе Стринг.јоин ()
Метода Стринг.јоин () може се користити за претварање АрраиЛист у Стринг. Овде такође можете проследити одговарајући граничник методи спајања.
Програм у наставку то показује.
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); } }
Излаз:
Листа арраи: (Делхи, Мумбаи, Цхеннаи, Колката)
Низ конвертован са АрраиЛист: Делхи Мумбаи Цхеннаи Колката
Можете видети да АрраиЛист директно прослеђујемо као аргумент Стринг.јоин () методи заједно са граничником.
За једноставне Стринг АрраиЛистс, Стринг.јоин () је најбољи метод за конвертовање у Стринг. Али за сложеније објекте АрраиЛистс, коришћење СтрингБуилдер-а је ефикасније.
Стринг то АрраиЛист Цонверсион
Да бисте конвертовали Стринг у АрраиЛист, постоје два корака:
- Низ се дели помоћу функције сплит () и поднизови (подељени на одговарајућем граничнику) чувају се у низу низова.
- Низ низова добијен раздвајањем низа се затим претвара у АрраиЛист помоћу методе ‘асЛист ()’ класе Арраис.
Програм за претварање низа у АрраиЛист је дат у наставку.
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 ); } }
Излаз:
Улазни низ: Низ програма АрраиЛист
АрраиЛист из низа: (Тхе, стринг, то, АрраиЛист, програм)
У горњем програму делимо низ у размаке и сакупљамо га у низ низова. Овај низ се затим претвара у АрраиЛист низова.
Претвори листу у АрраиЛист у Јави
АрраиЛист имплементира интерфејс Лист. Ако желите да конвертујете Лист у његову примену попут АрраиЛист, онда то можете учинити помоћу методе аддАлл интерфејса Лист.
Програм у наставку приказује конверзију листе у АрраиЛист додавањем свих елемената листе у АрраиЛист.
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); } }
Излаз:
Садржај листе: (АрраиЛист, Вецтор, ЛинкедЛист, Стацк, Сет, Мап)
АрраиЛист након додавања елемената: (АрраиЛист, Вецтор, ЛинкедЛист, Стацк, Сет, Мап)
Конвертујте АрраиЛист у Јава
Следеће методе претварају АрраиЛист у скуп.
# 1) Користећи традиционални итеративни приступ
Ово је традиционални приступ. Овде прелиставамо листу и додајемо сваки елемент АрраиЛист у скуп.
У доњем програму имамо АрраиЛист низа. Проглашавамо ХасхСет низ. Затим помоћу форЕацх петље прелазимо преко АрраиЛист и додајемо сваки елемент у ХасхСет.
На сличан начин, такође можемо претворити АрраиЛист у трееСет.
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); } }
Излаз:
Листа Арраи: (црвена, зелена, плава, цијан, магента, жута)
ХасхСет добијен из АрраиЛист: (Црвена, Цијан, Плава, Жута, Магента, Зелена)
# 2) Коришћење конструктора за постављање
Следећи метод за претварање АрраиЛист у скуп је коришћење конструктора. У овој методи прослеђујемо АрраиЛист као аргумент конструктору скупа и на тај начин иницијализујемо постављени објекат елементима АрраиЛист.
Програм у наставку приказује употребу АрраиЛист у креирању постављеног објекта.
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); } }
Излаз:
Листа Арраи: (Црвена, Зелена, Плава, Цијан, Магента, Жута
Сет стабала добијен из АрраиЛист: (плава, цијан, зелена, магента, црвена, жута)
# 3) Коришћење методе АддАлл
Такође можете да користите аддАлл метод Сет, да додате све елементе АрраиЛист у скуп.
Следећи програм користи методу аддАлл за додавање елемената АрраиЛист у ХасхСет.
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); } }
Излаз:
Листа Арраи: (црвена, зелена, плава, цијан, магента, жута)
ХасхСет добијен из АрраиЛист: (Црвена, Цијан, Плава, Жута, Магента, Зелена)
# 4) Коришћење Јава 8 Стреам-а
Стреамови су нови додаци Јави 8. Ова класа токова пружа метод за претварање АрраиЛист у стреам, а затим за постављање.
Јава програм у наставку показује употребу методе класе стреам за претварање АрраиЛист у сет.
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); } }
Излаз:
Листа Арраи: (црвена, зелена, плава, цијан, магента, жута)
Сет добијен из АрраиЛист: (Црвена, Цијан, Плава, Жута, Магента, Зелена)
Претвори постављено у АрраиЛист у Јави
У последњем одељку видели смо конверзију АрраиЛист у Сет. Конверзија из Сет у АрраиЛист такође користи исте методе као што је горе описано с том разликом што се позиција скупа и АрраиЛист мења.
Доље су дати примери програмирања за претварање Сет-а у АрраиЛист. Други опис сваке методе остаје исти.
# 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); } }
Излаз:
Дати сет: (Један, Два, Три)
Листа арраи-а добијена из скупа: (један, два, три)
У горе наведеном програму прелазимо кроз Сет и сваки елемент сета додаје се на АрраиЛист.
# 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); } }
Излаз:
Дати сет: (Један, Два, Три)
Листа арраи-а добијена из скупа: (један, два, три)
Горњи програм креира скуп и АрраиЛист. Објект АрраиЛист креира се давањем постављеног објекта као аргумента у свом конструктору.
# 3) Коришћење методе АддАлл
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); } }
Излаз:
Дати сет: (Један, Два, Три)
Листа арраи-а добијена из скупа: (један, два, три)
Овде користимо аддАлл методу АрраиЛист да бисмо елементе из скупа додали у АрраиЛист.
# 4) Коришћење Јава 8 Стреам-а
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); } }
Излаз:
Дати сет: (Један, Два, Три)
Листа арраи-а добијена из скупа: (један, два, три)
Горњи програм користи класу стреам за претварање Сет у АрраиЛист.
Низ АрраиЛист-а у Јави
Низ АрраиЛист као што му само име говори састоји се од АрраиЛистс као његових елемената. Иако се функција не користи редовно, користи се када је неопходно ефикасно коришћење меморијског простора.
Следећи програм имплементира низ АрраиЛистс у Јави.
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 Излаз:
Садржај низа АрраиЛист:
(Један, два, два)
(Црвена, Зелена, Плава)

У горњем програму прво дефинишемо две листе. Затим проглашавамо низ од два АрраиЛист. Сваки елемент овог низа је АрраиЛист који је раније дефинисан. Коначно, садржај низа АрраиЛист се приказује помоћу фор петље.
АрраиЛист оф Арраис Ин Јава
Као што имамо низ АрраиЛистс, тако можемо имати и АрраиЛист оф Арраис. Овде је сваки појединачни елемент АрраиЛист низ.
Програм у наставку приказује АрраиЛист оф Арраис.
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)); } } }
Излаз:
бесплатна апликација радног времена за ипхоне и андроид
Садржај АрраиЛист оф Арраис:
(Црвена, Зелена, Плава)
(Пуна, Мумбај, Делхи)

Горњи програм демонстрира АрраиЛист оф Арраис. У почетку проглашавамо АрраиЛист низова низова. То значи да ће сваки елемент АрраиЛист бити Стринг Арраи. Даље, дефинишемо два низа низова. Затим се сваки низ додаје на АрраиЛист. На крају, исписујемо садржај АрраиЛист оф Арраис.
Да бисмо штампали садржај, прелазимо преко АрраиЛист-а користећи фор петљу. За сваку итерацију исписујемо садржај елемента АрраиЛист који има низ помоћу методе Арраис.тоСтринг ().
Листа Вс АрраиЛист у Јави
Следеће табеле приказују неке разлике између Листа и АрраиЛист.
Листа Низ листа Листа је интерфејс у Јави АрраиЛист је део оквира Јава Цоллецтион Листа је примењена као интерфејс АрраиЛист је имплементиран као класа колекције Проширује интерфејс за прикупљање имплементира интерфејс листе и проширује АбстрацтЛист Део простора имена Систем.Цоллецтион.генериц Део простора имена Систем.Цоллецтионс Користећи Лист, може се направити листа елемената којима се може приступити помоћу индекса. Користећи АрраиЛист, можемо створити динамички низ елемената или објеката чија се величина аутоматски мења с променама у садржају.
Вецтор Вс АрраиЛист
Доље су дате неке од разлика између вектора и арраиЛист-а.
Низ листа ЛинкедЛист АрраиЛист имплементира интерфејс листе ЛинкедЛист имплементира Лист и Декуе интерфејсе. Складиштење података и приступ ефикасни су у АрраиЛист-у. ЛинкедЛист је добар у манипулисању подацима. АрраиЛист интерно имплементира динамички низ. ЛинкедЛист интерно примењује двоструко повезану листу. Будући да АрраиЛист интерно имплементира динамички низ, додавање / брисање елемената је споро јер је потребно пуно померања битова. ЛинкедЛист је бржи што се тиче додавања / уклањања елемената, јер није потребно померање битова. Мање меморијских трошкова јер се у АрраиЛисту чувају само стварни подаци. Више меморијских трошкова јер сваки чвор у ЛинкедЛист-у садржи податке као и адресу следећег чвора.
АрраиЛист вс ЛинкедЛист
Размотримо сада различите разлике између АрраиЛист и ЛинкедЛист.
Низ листа ЛинкедЛист АрраиЛист имплементира интерфејс листе ЛинкедЛист имплементира Лист и Декуе интерфејсе. Складиштење података и приступ ефикасни су у АрраиЛист-у. ЛинкедЛист је добар у манипулисању подацима. АрраиЛист интерно имплементира динамички низ. ЛинкедЛист интерно примењује двоструко повезану листу. Будући да АрраиЛист интерно имплементира динамички низ, додавање / брисање елемената је споро јер је потребно пуно померања битова. ЛинкедЛист је бржи што се тиче додавања / уклањања елемената, јер није потребно померање битова. Мање меморијских трошкова јер се у АрраиЛисту чувају само стварни подаци. Више меморијских трошкова јер сваки чвор у ЛинкедЛист-у садржи податке као и адресу следећег чвора.
Често постављана питања
П # 1) Како претворити АрраиЛист у Арраи у Јави?
Одговор: Да бисте претворили АрраиЛист у Арраи у Јави, можете користити методу тоАрраи () из АрраиЛист АПИ-ја која претвара дати АрраиЛист у Арраи.
К # 2) Како раздвојити низ и сачувати га у АрраиЛисту на Јави?
Одговор: Низ се дели помоћу функције сплит (). Ова метода враћа низ низова. Затим се помоћу методе Арраис.асЛист () низ низова може претворити у АрраиЛист низова.
П # 3) Која је подразумевана величина АрраиЛист-а?
Одговор: Објект АрраиЛист створен без навођења капацитета има величину 0, јер на листи нема додатих елемената. Али подразумевани капацитет овог АрраиЛист-а је 10.
П # 4) Која је разлика између дужине () и величине () АрраиЛист-а?
Одговор: Листа АрраиЛист нема својство или методу ленгтх (). Пружа само методу сизе () која враћа укупан број елемената у АрраиЛист.
П # 5) Која је разлика између капацитета и величине АрраиЛист-а?
Одговор: АрраиЛист поседује и капацитет и величину. Капацитет је укупна величина АрраиЛист-а или укупан број елемената које може да садржи. Величина је број елемената или локација у којима се налазе подаци.
На пример, ако је капацитет АрраиЛист 10, а његова величина 5, то значи да АрраиЛист може да садржи до 10 елемената, али тренутно само 5 локација има податке у себи.
Закључак
У овом упутству смо разговарали о неким додатним концептима повезаним са АрраиЛист-ом, попут претварања АрраиЛист-а у низ, листу, скуп и обрнуто. Такође смо разговарали о разликама између АрраиЛист и Вецтор, АрраиЛист и ЛинкедЛист итд.
У нашем предстојећем водичу узећемо још једну колекцију и темељито ћемо је научити.
=> Овде погледајте како бисте овде видели А-З Јава Водича за обуку.
Препоручено читање
- Јава Стринг са Стринг бафером и Стринг Буилдер Туториал
- Јава АрраиЛист - Како пријавити, иницијализовати и одштампати АрраиЛист
- Водич за Јава рефлексију са примерима
- Јава Стринг Водич | Јава стринг методе са примерима
- Јава теме са методама и животним циклусом
- Примена Јава-а: Стварање и извршавање Јава ЈАР датотеке
- Основе Јава-а: Јава синтакса, Јава Цласс и основни Јава концепти
- Јава виртуелна машина: како ЈВМ помаже у покретању Јава апликације