covert list array
Овај водич објашњава како претворити Јава листу у низ и друге колекције. Садржи примере за претварање листе у низ, низ, скуп и обрнуто:
У нашим ранијим водичима разговарали смо о детаљима колекције са списка. Видели смо разне операције на листи, итераторе итд. С обзиром на листу, можемо је претворити у било коју другу колекцију или структуру података као што су низови, низови, АрраиЛист, сет итд.
=> Посетите овде за ексклузивну серију лекција за Јава тренинг.
Шта ћете научити:
Листа конверзија
Овде оно што заправо радимо је да преносимо елементе из једне колекције / структуре у другу и притом заправо мењамо распоред елемената јер свака колекција или структура података има свој изглед.
У овом упутству ћемо разговарати о неколико конверзија са листе у друге структуре података и обрнуто.
Претвори листу у низ
Списак елемената можете лако претворити у његов низ. Углавном ћете желети да конвертујете листу низова или знакова у низ података.
Постоје различити начини претварања листе у низ. О најпопуларнијим се говори у наставку.
# 1) Коришћење методе тоСтринг
Ово је најједноставнији начин за претварање листе у низ. У овој методи једноставно користите методу ‘тоСтринг’ на листи која листу претвара у представљање низа.
Програм у наставку приказује примену методе тоСтринг.
import java.util.Arrays; import java.util.List; // Convert List of Characters to String in Java class Main { public static void main(String() args) { // create and initialize a character list List strList = Arrays.asList('H', 'e', 'l', 'l', 'o'); //convert list to string using toString method System.out.println('List converted to string representation:
' + strList.toString()); //replace comma between characters with blanks String string = strList.toString() .substring(1, 3 * strList.size() - 1) .replaceAll(', ', ''); // print string System.out.println('String representation by removing delimiters:
' + string); } }
Излаз:
У овом програму можете да видите да се након претварања листе знакова у представљање низа низ даље дорађује уклањањем разграничних знакова из њега и представљањем као једну реч.
# 2) Коришћење колекционарске класе
Од Јаве 8 па надаље, можете да користите АПИ-је стреама са класом ‘Цоллецторс’ да бисте листу претворили у низ.
Пример:
import java.util.stream.Collectors; import java.util.Arrays; import java.util.List; class Main { public static void main(String() args) { // create and initialize list List strList = Arrays.asList('W', 'o', 'r', 'l','d'); // convert list to string using collect and joining() method String string= strList.stream().map(String::valueOf).collect(Collectors.joining()); // print string System.out.println('List converted to string:' + string); } }
Излаз:
У горе наведеном програму користимо АПИ-је стреама, мапирамо вредности, а затим методом придруживања () класе Цоллецторс и конвертујемо листу у стринг.
# 3) Коришћење класе СтрингБуилдер
Трећи метод претварања листе у низ је коришћење објекта СтрингБуилдер. Овде је сваки елемент на листи додан СтрингБуилдер објекту помоћу петље. Тада се СтрингБуилдер објекат претвара у свој приказ низа методом тоСтринг.
Погледајте следећи програм за демонстрацију.
import java.util.Arrays; import java.util.List; class Main { public static void main(String() args) { // create and initialize the list List strList = Arrays.asList('I', 'n', 'd', 'i', 'a'); // object of stringBuilder StringBuilder sb = new StringBuilder(); // use append method to append list element to StringBuilder object for (Character ch : strList) { sb.append(ch); } // convert StringBuilder object to string using toString() String string = sb.toString(); // print string System.out.println('List converted to string: ' + string); } }
Излаз:
Горњи програм приказује употребу СтрингБуилдер објекта којем су додани елементи на листи. Тада се објекат претвара у низ.
Претварање листе у низ
С обзиром на листу елемената, ову листу морате претворити у низ. Да бисте то урадили, можете користити било који од доле описаних метода.
# 1) Коришћење тоАрраи
Најједноставнији начин за претварање листе у низ је коришћење методе ‘тоАрраи’ листе.
Следећи програм приказује ову примену методе тоАрраи.
import java.util.*; public class Main { public static void main(String() args) { //create and initialize list List strList = new LinkedList(); strList.add('This'); strList.add('is'); strList.add('Java'); strList.add('Tutorial'); System.out.println('The given list:' + strList); //use toArray method to convert list to array String() strArray = strList.toArray(new String(0)); //print the array System.out.println('The Array from List: '); for (String val : strArray) System.out.print(val + ' '); } }
Излаз:
У горњем програму претворили смо листу низова у низ низова помоћу методе ‘тоАрраи’.
# 2) Коришћење Јава 8 Стреам-а
.нет питања и одговори за искусне
Следећи метод за претварање листе у низ је коришћење АПИ-ја тока Јава 8. У овоме се листа прво претвара у стреам, а затим помоћу стреам (). ТоАрраи претвара у низ.
Следећи Јава програм приказује ову конверзију.
import java.util.*; class Main { public static void main (String()args) { //create and initialize the list List l_list = new LinkedList (); l_list.add ('Software'); l_list.add ('Testing'); l_list.add ('Help'); l_list.add ('Tutorial'); System.out.println('The given list:' + l_list); //Convert list to array using stream and toArray methods String() str_array = l_list.stream ().toArray (String()::new); //print the array System.out.println('The Array converted from list : '); for (String val:str_array) System.out.print (val + ' '); } }
Излаз:
Горњи програм користи АПИ-је стреама Јава 8 и листу претвара у низ. Затим се низ штампа помоћу сваке петље.
# 3) Коришћење гет методе
Ово је још један начин претварања листе у низ. У овоме користимо гет () листе која се може користити за преузимање појединих елемената листе.
Програм за претварање листе у низ методом гет () приказан је испод.
import java.io.*; import java.util.List; import java.util.LinkedList; class Main { public static void main (String() args) { List colors_list = new LinkedList(); colors_list.add('Red'); colors_list.add('Green'); colors_list.add('Blue'); colors_list.add('Yellow'); System.out.println('Given list: ' + colors_list); //define the array String() colors_array = new String(colors_list.size()); // get list elements into the array for (int i =0; i Излаз:

У горе наведеном програму створили смо низ исте величине као и листа. Затим се у петљи елементи листе дохваћају методом гет () и додељују се низу.
Претвори низ у листу
Како листу можете претворити у низ, тако и низ у Јава можете претворити у листу. Доље су дати неки од метода помоћу којих можете претворити низ у листу.
# 1) Коришћење обичног Јава кода
Ово је традиционална метода претварања низа у листу. Овде додајете сваки елемент низа на листу један по један помоћу петље. За ову методу додавања користи се списак.
Следећи програм примењује традиционални метод за претварање низа у листу.
import java.util.*; import java.util.stream.*; class Main { public static void main(String args()) { // Create and initialize an Array String strArray() = { 'Java', 'Python', 'C++', 'SQL', 'Perl' }; // Print the Array System.out.println('Array: ' + Arrays.toString(strArray)); // Create a List List strlist = new ArrayList(); // Iterate through the array and add each element to the list for (String val : strArray) { strlist.add(val); } // Print the List System.out.println('
List obtained from array: ' + strlist); } }
Излаз:

# 2) Коришћење методе асЛист ()
Следећи метод претварања низа у списак је коришћењем методе асЛист () класе Арраис. Овде Арраи можете проследити као аргумент методи асЛист () и он враћа добијену листу.
Следећи програм то показује.
import java.util.*; import java.util.stream.*; class Main { public static void main(String args()) { //create and intialize array Integer() oddArray = { 1,3,5,7,9,11 }; //declare a list and use asList method to assign the array to list List oddList = Arrays.asList(oddArray); // Print the List System.out.println('List from array: ' + oddList); } }
Излаз:

У горњем програму имамо низ непарних бројева. Затим креирамо листу целих бројева и додељујемо је излазу методе асЛист која је листа.
# 3) Коришћење методе Цоллецтион.аддАлл ()
Такође можете да користите методу аддАлл () класе Цоллецтионс јер су низ и листа делови оквира колекције у Јави.
Следећи програм приказује употребу методе Цоллецтионс.аддАлл () за претварање низа у листу.
import java.util.*; import java.util.stream.*; class Main { public static void main(String args()) { // Create and initialize an Array String strArray() = { 'Java', 'C++', 'C', 'Perl', 'Python' }; // Print the Array System.out.println('Array: ' + Arrays.toString(strArray)); // create a string list List myList = new ArrayList(); // Add array to list using Collections addAll method Collections.addAll(myList, strArray); // Print the List System.out.println('List obtained from array: ' + myList); } }
Излаз:

Овде смо иницијализовали низ. Направили смо празну листу. Тада се користи метода Цоллецтионс.аддАлл () преношењем листа и низа као аргумента. Успешно извршавање ове методе имаће листу попуњену елементима низа.
# 4) Коришћење Јава 8 Стреамова
Следећи приступ претварању низа у листу је коришћење Јава 8 Стреам АПИ-ја и класе Цоллецторс. Овде се низ прво претвара у ток, а затим се елементи сакупљају у листу помоћу тока. Метода сакупљања. Листа се коначно враћа.
Следећи програм приказује имплементацију која низ претвара у листу помоћу Стреам АПИ-ја.
import java.util.*; import java.util.stream.*; class Main { public static void main(String args()) { // Create and initialize an Array String colorsArray() = { 'Red', 'Green', 'Blue', 'Yellow', 'Magenta' }; // Print the Array System.out.println('Array: ' + Arrays.toString(colorsArray)); // convert the Array to List using stream () and Collectors class List colorslist = Arrays .stream(colorsArray) .collect(Collectors.toList()); // Print the List System.out.println('List from Array: ' + colorslist); } }
Излаз:

У горњем програму створен је низ боја. Следећа се креира празна листа, а затим се листи додељује листа добијена из низа помоћу АПИ-ја тока.
Претвори листу у постављену
Скуп је неуређена колекција елемената која не дозвољава дуплиране вредности. Сет је део оквира Јава Цоллецтионс. Можете претворити листу у сет и обрнуто ако је потребно.
У овом одељку погледајмо неке од метода које се користе за претварање листе у скуп.
# 1) Коришћење традиционалне методе
Можете претворити листу у постављену помоћу традиционалног Јава кода. У овом случају можете створити ХасхСет или трееСет. А затим помоћу методе адд додајте сваки елемент листе скупу у петљу.
Ова примена је приказана у наставку.
import java.util.*; class Main { public static void main(String() args) { // Creating a list of strings List strList = Arrays.asList('Java', 'Perl', 'Python', 'C++', 'C'); //print the list System.out.println('The list : ' + strList); //create a set Set hashSet = new HashSet(); //add list elements to hashset for (String ele : strList) hashSet.add(ele); //print the set System.out.println('HashSet from list:'); for (String val : hashSet) System.out.print(val + ' '); } }
Излаз:

У горњем програму можете видети да смо креирали објекат ХасхСет типа стринг. Затим се помоћу побољшане фор петље сваки елемент листе додаје у скуп. Коначно, комплет је одштампан.
Препоручено читање = >> ХасхСет у Јави
# 2) Коришћење ХасхСет-а или конструктора за дрвосече
Следећи метод је коришћење конструктора скупова. Овде креирамо конструктор скупова (трееСет или ХасхСет). Листа се овом конструктору предаје као аргумент. Помоћу ове листе конструише се скуп.
Проверите доњи програм за ову примену.
import java.util.*; class Main { public static void main(String() args) { // Create a list of strings List strList = Arrays.asList('Red', 'Green', 'Blue', 'Yellow', 'Cyan', 'Magenta'); System.out.println('Original List:' + strList); // Creating a hash set using constructor and pass list to the constructor Set hashSet = new HashSet(strList); System.out.println('
HashSet created from list:'); //print the hashSet for (String val : hashSet) System.out.print(val + ' '); //Create a treeset using constructor and pass list to the constructor Set treeSet = new TreeSet(strList); System.out.println('
TreeSet from list: '); //print the treeset for (String x : treeSet) System.out.print(x + ' '); } }
Излаз:

У горњем програму креирамо и ХасхСет и трееСет прослеђујући листу као аргумент. На крају се приказује садржај и ХасхСет-а и скупа стабала.
# 3) Коришћење методе АддАлл
Ово је исто као и аддАлл метода колекција коју смо раније видели. Овде се метода аддАлл користи за копирање садржаја листе у скуп.
Следећи програм приказује употребу методе аддАлл.
import java.util.*; class Main { public static void main(String() args) { // Creating a list of strings List intList = Arrays.asList(1,3,5,7,9,11,13); System.out.println('Original List: ' + intList); //create a hashset Set hashSet = new HashSet(); //add elements of list to hashSet using addAll method hashSet.addAll(intList); System.out.println('HashSet created from list: '); //print the hashSet for (Integer val : hashSet) System.out.print(val + ' '); } }
Излаз:

Овај програм креира објект ХасхСет. Тада се метода аддАлл позива на објекту ХасхСет са листом као параметром. Овај метод копира садржај листе у скуп.
# 4) Коришћење Јава 8 Стреамова
Као што смо већ видели, Јава 8 токове такође можете користити за претварање листе у било коју другу колекцију, укључујући сет. Да бисте то урадили, морате користити метод стреам ().
Следећи програм приказује ову примену.
import java.util.*; import java.util.stream.*; class Main { public static void main(String() args) { // Create a list of strings List colorsList = Arrays.asList('Red', 'Green', 'Blue', 'Cyan', 'Magenta', 'Yellow'); System.out.println('Original List:' + colorsList); // Convert to set using stream and Collectors class toSet() method Set colorsSet = colorsList.stream().collect(Collectors.toSet()); System.out.println('The set from list:'); //print the set for (String x : colorsSet) System.out.print(x + ' '); }
Излаз:

Горњи програм је сличан оном приказаном у случају конверзије са листе у низ. Прво се листа конвертује у ток, а затим метода цоллецт прикупља елементе тока и конвертује у сет.
Сад кад смо видели разне методе које врше конверзију са листе у скуп, погледајмо методе које се користе за претварање скупа у листу.
Претвори постављено у листу
Слично начину на који конвертујете листу у скуп, можете и претворити скуп у листу. За ову конверзију можете користити исте методе описане горе. Једина разлика је у томе што замените места на листи и подесите у програму.
Доље су дати примери конверзије из скупа у листу за сваку методу.
# 1) Коришћење обичне Јаве
importjava.util.*; class Main { public static void main(String() args) { // Create a set(hashset) and initialize it Set hashSet = new HashSet(); hashSet.add('Red'); hashSet.add('Green'); hashSet.add('Blue'); hashSet.add('Cyan'); hashSet.add('Magenta'); hashSet.add('Yellow'); //print the set System.out.println('The set elements:'); for (String x : hashSet) System.out.print(x + ' '); //create a list (ArrayList) List strList = new ArrayList(hashSet.size()); //traverse the set and add its elements to the list for (String x : hashSet) strList.add(x); //print the list System.out.println('
Created ArrayList:' + strList); } }
Излаз:

Горњи програм декларише и иницијализује скуп. Затим креира листу и додаје сваки постављени елемент на листу. Коначно, штампа листу.
# 2) Коришћење конструктора
import java.util.*; class Main { public static void main(String() args) { // Create a set(hashset) of strings & initialize it Set hashSet = new HashSet(); hashSet.add('Delhi'); hashSet.add('Mumbai'); hashSet.add('Chennai'); hashSet.add('Kolkata'); //print the Set System.out.println('The set :'); for(String str: hashSet) System.out.print(str + ' '); //pass hashset to linkedlist constructor List l_List = new LinkedList(hashSet); //print the linked list System.out.println ('
LinkedList from set: ' + l_List); } }
Излаз:

Овде можете користити конструктор листе са објектом скупа као аргументом. Ово копира све постављене елементе у објекат листе.
# 3) Коришћење методе АддАлл
import java.util.*; class Main { public static void main(String() args) { // Create a set(hashset) of strings & initialize it Set hashSet = new HashSet(); hashSet.add('Red'); hashSet.add('Green'); hashSet.add('Blue'); hashSet.add('Cyan'); hashSet.add('Magenta'); hashSet.add('Yellow'); //print the Set System.out.println('The set: '); for(String x:hashSet) System.out.print(x + ' '); //create a list(ArrayList) List colorList = new ArrayList(); //use addAll method to add elements from set colorList.addAll(hashSet); //print the list System.out.println('
The ArrayList from set: ' + colorList); } }
Излаз:

У овом програму се креира објекат листе. Затим се методом Цоллецтионс.аддАлл () додају елементи скупа на листу.
# 4) Коришћење Јава 8 Стреам-а
import java.util.*; import java.util.stream.*; class Main { public static void main(String() args) { // Create a set(hashset) of strings & initialize the set Set hashSet = new HashSet(); hashSet.add('Yellow'); hashSet.add('Magenta'); hashSet.add('Cyan'); hashSet.add('Red'); hashSet.add('Green'); hashSet.add('Blue'); //print the Set System.out.println('The set:'); for(String str : hashSet) System.out.print(str + ' '); //create a list and assign it elements of set through stream and Collectors class List strList = hashSet.stream().collect(Collectors.toList()); //print the list System.out.println('
List obtained from set: ' + strList); } }
Излаз:

Такође можете користити Јава 8 стримове и методу преноса да претворите сет у листу као што је приказано у горњем програму.
Арраи Вс Лист
Размотримо неке разлике између низа и листе.
Арраи Листа Низ је основна структура података у Јави. Листа је интерфејс који је део оквира за прикупљање на Јави из којег се многе класе могу проширити попут ЛинкедЛист, АрраиЛист итд. Има фиксну величину Величина листе је динамична. Елементима низа може се приступити помоћу (). Члановима листе се приступа методама. Низ може имати примитивне типове као и објекте као своје елементе. Листе могу садржати само објекте. Низови могу да користе операторе са својим елементима. Листе не могу користити операторе. Уместо тога, наводи методе употребе. Низови не могу да раде са генеричким лековима како би се осигурала сигурност типа. Листе могу бити генеричке.
Често постављана питања
П # 1) Како на Јави претворити листу у низ?
Одговор: Основни метод за претварање листе у низ у Јави је коришћење методе ‘тоАрраи ()’ интерфејса Листа.
Једноставан позив у наставку претвара листу у низ.
Object() array = list.toArray();
Постоје и друге методе као што је горе речено за претварање листе у низ.
П # 2) Да ли је низ списак на Јави?
Одговор: Не. Низ је основна структура у Јави фиксне дужине. Не протеже се од интерфејса листе. Структура која се протеже од интерфејса листе и слична је низу је АрраиЛист.
П # 3) Како претворити низ у листу на Јави?
Одговор: Једна од основних метода за претварање низа у списак на Јави је употреба методе асЛист () класе Арраис.
List aList = Arrays.asList (myarray);
Поред овога, постоји још метода које претварају низ у листу о чему је раније било речи у овом водичу.
П # 4) Који је бржи скуп или листа на Јави?
Одговор: Зависи од података који се чувају. Ако су подаци јединствени, онда је листа боља и бржа. Ако имате велики скуп података, идите на скупове. Постављена структура обично захтева 10 пута више меморије од листа.
П # 5) Која је разлика између АрраиЛист и Сет?
Одговор: Листа је колекција уређених елемената, док је скуп колекција неуређених елемената. Листа може да има дупликате, али скуп не може да има дупле елементе.
Закључак
У овом упутству видели смо разне конверзије листе у низ, сет и обрнуто. Такође смо видели главне разлике између низа и листе.
У овом следећем упутству детаљно ћемо размотрити класе листа попут АрраиЛист, ЛинкедЛист итд.
=> Овде погледајте савршен водич за обуку за Јава.
Препоручено читање
- Јава Цопи Арраи: Како копирати / клонирати низ у Јави
- Јава низ - Како исписати елементе низа у Јави?
- Јава листа - Како створити, иницијализовати и користити листу на Јави
- Типови података низа - инт низ, двоструки низ, низ жица итд.
- Јава Арраи - Декларишите, направите и иницијализујте низ у Јави
- Како проследити / вратити низ у Јави
- Водич за ЈАВА за почетнике: 100+ практичних Јава видео водича
- Водич за дужину Јава низа са примерима кода