covert list array
Ta vadnica razlaga, kako pretvoriti seznam Java v matriko in druge zbirke. Vključuje primere za pretvorbo seznama v polje, niz, niz in obratno:
V naših prejšnjih vajah smo razpravljali o podrobnostih zbirke seznamov. Videli smo različne operacije na seznamu, iteratorje itd. Glede na seznam lahko ta seznam pretvorimo v katero koli drugo zbirko ali podatkovne strukture, kot so nizi, nizi, ArrayList, set itd.
=> Obiščite tukaj za ekskluzivno serijo vadnic za učenje Java.
Kaj se boste naučili:
Seznam pretvorb
Tu dejansko prenašamo elemente iz ene zbirke / strukture v drugo in s tem dejansko spreminjamo postavitev elementov, saj ima vsaka zbirka ali struktura podatkov svojo postavitev.
V tej vadnici bomo obravnavali nekaj pretvorb s seznama v druge podatkovne strukture in obratno.
Pretvori seznam v niz
Seznam elementov lahko enostavno pretvorite v njegovo nizno predstavitev. Večinoma boste želeli seznam nizov ali znakov pretvoriti v niz.
Obstajajo različni načini pretvorbe seznama v niz. Najbolj priljubljeni so obravnavani v nadaljevanju.
# 1) Uporaba metode toString
To je najpreprostejša metoda za pretvorbo seznama v niz. Pri tej metodi preprosto uporabite metodo 'toString' na seznamu, ki seznam pretvori v nizno predstavitev.
Spodnji program prikazuje izvajanje metode toString.
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); } } Izhod:

V tem programu lahko vidite, da se po pretvorbi seznama znakov v prikaz niza niz še izboljša, tako da se iz njega odstranijo razmejevalni znaki in predstavi kot ena beseda.
# 2) Uporaba razreda zbiralcev
Od Jave 8 naprej lahko za pretvorbo seznama v niz uporabite API-je za tok z razredom ‘Collectors’.
Primer:
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); } } Izhod:

V zgornjem programu uporabljamo API-je pretoka, preslikamo vrednosti in nato z uporabo metode združevanja () razreda Collectors pretvorimo seznam v niz.
# 3) Uporaba razreda StringBuilder
Tretji način pretvorbe seznama v niz je z uporabo predmeta StringBuilder. Tu je vsak element na seznamu z zanko dodan predmetu StringBuilder. Nato se objekt StringBuilder pretvori v svojo nizno predstavitev z uporabo metode toString.
Za demonstracijo preverite naslednji program.
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); } } Izhod:

Zgornji program prikazuje uporabo predmeta StringBuilder, kateremu so dodani elementi na seznamu. Nato se objekt pretvori v niz.
Pretvorba seznama v matriko
Glede na seznam elementov morate ta seznam pretvoriti v matriko. Če želite to narediti, lahko uporabite katero koli od spodaj opisanih metod.
# 1) Uporaba toArray
Najpreprostejši način za pretvorbo seznama v matriko je uporaba metode 'toArray' na seznamu.
Naslednji program prikazuje to izvedbo metode toArray.
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 + ' '); } } Izhod:

V zgornjem programu smo s pomočjo metode 'toArray' seznam nizov pretvorili v niz nizov.
# 2) Uporaba Java 8 Stream
kateri je najboljši prenosnik glasbe za android
Naslednja metoda za pretvorbo seznama v matriko je z uporabo API-jev toka Java 8. Pri tem se seznam najprej pretvori v stream in nato s pomočjo stream (). ToArray pretvori v matriko.
Naslednji program Java prikazuje to pretvorbo.
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 + ' '); } } Izhod:

Zgornji program uporablja API-je za tok Java 8 in seznam pretvori v matriko. Nato se matrika natisne z uporabo za vsako zanko.
# 3) Uporaba metode get
To je še en način pretvorbe seznama v matriko. Pri tem uporabljamo get () seznama, ki ga lahko uporabimo za pridobivanje posameznih elementov seznama.
Program za pretvorbo seznama v matriko z metodo get () je prikazan spodaj.
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 Izhod:

V zgornjem programu smo ustvarili matriko enake velikosti kot seznam. Nato se v zanki elementi seznama pridobijo z metodo get () in dodelijo matriki.
Pretvori matriko v seznam
Ker lahko seznam pretvorite v matriko, lahko tudi matriko pretvorite v seznam v Javi. Spodaj je navedenih nekaj metod, s katerimi lahko matriko pretvorite v seznam.
# 1) Uporaba navadne kode Java
To je tradicionalna metoda pretvorbe polja v seznam. Tukaj dodate vsak element matrike na seznam enega za drugim z uporabo zanke. Za to se uporablja metoda dodajanja seznama.
Naslednji program izvaja tradicionalno metodo za pretvorbo matrike v seznam.
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); } } Izhod:

# 2) Uporaba metode asList ()
Naslednja metoda pretvorbe polja v seznam je z uporabo metode asList () razreda Arrays. Tu lahko Array posredujete kot argument metodi asList () in vrne pridobljeni seznam.
Naslednji program to pokaže.
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); } } Izhod:

V zgornjem programu imamo nabor lihih števil. Nato ustvarimo seznam celih števil in ga dodelimo izhodu metode asList, ki je seznam.
# 3) Uporaba metode Collection.addAll ()
Uporabite lahko tudi metodo addAll () razreda Collections, saj sta matrika in seznam del ogrodja zbirke v Javi.
Naslednji program prikazuje uporabo metode Collections.addAll () za pretvorbo polja v seznam.
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); } } Izhod:

Tu smo inicializirali matriko. Ustvarili smo prazen seznam. Nato se uporabi metoda Collections.addAll () s posredovanjem seznamov in matrike kot argumenta. Uspešno izvajanje te metode bo imelo seznam, zapolnjen z elementi matrike.
# 4) Uporaba Java 8 Streams
Naslednji pristop za pretvorbo matrike v seznam je uporaba Java 8 Stream API in razreda Collectors. Tu se matrika najprej pretvori v tok, nato pa se elementi zberejo na seznam s pomočjo toka. Metoda zbiranja. Seznam se končno vrne.
Naslednji program prikazuje izvedbo, ki matriko pretvori v seznam s pomočjo Stream API.
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); } } Izhod:

V zgornjem programu je ustvarjena paleta barv. Naslednji se ustvari prazen seznam, nato pa se seznamu dodeli seznam, dobljen iz polja z API-jem toka.
Pretvori seznam v nastavljeno
Niz je neurejena zbirka elementov, ki ne dovoljuje podvojenih vrednosti. Set je del okvira Java Collections. Po potrebi lahko seznam pretvorite v nastavljen in obratno.
V tem razdelku si oglejmo nekatere metode, ki se uporabljajo za pretvorbo seznama v niz.
# 1) Uporaba tradicionalne metode
Seznam lahko pretvorite v nastavljen s tradicionalno kodo Java. V tem lahko ustvarite HashSet ali treeSet. Nato z uporabo metode add dodajte vsak element seznama naboru v zanko.
Ta izvedba je prikazana spodaj.
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 + ' '); } } Izhod:

V zgornjem programu lahko vidite, da smo ustvarili objekt HashSet tipa string. Nato z uporabo izboljšane zanke for se vsak element seznama doda naboru. Na koncu je komplet natisnjen.
Priporočeno branje = >> HashSet v Javi
# 2) Uporaba HashSet ali Treeset Constructor
Naslednja metoda je uporaba konstruktorja nastavitev. Tu ustvarimo konstruktor nizov (treeSet ali HashSet). Temu konstruktorju se kot argument posreduje seznam. S pomočjo tega seznama je sestavljen nabor.
Za to izvedbo preverite spodnji program.
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 + ' '); } } Izhod:

V zgornjem programu ustvarimo HashSet in treeSet tako, da kot argument posredujemo seznam. Končno se prikaže vsebina HashSet in drevesnega nabora.
# 3) Uporaba metode addAll
To je enako kot addAll metoda zbirk, ki smo jo videli prej. Tu se metoda addAll uporablja za kopiranje vsebine seznama v nabor.
Naslednji program prikazuje uporabo metode addAll.
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 + ' '); } } Izhod:

Ta program ustvari objekt HashSet. Nato se na objektu HashSet pokliče metoda addAll s seznamom kot parametrom. Ta metoda kopira vsebino seznama v nabor.
# 4) Uporaba Java 8 Streams
Kot smo že videli, lahko tudi s tokovi Java 8 pretvorite seznam v katero koli drugo zbirko, vključno z naborom. Če želite to narediti, morate uporabiti metodo stream ().
Naslednji program prikazuje to izvedbo.
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 + ' '); } Izhod:

Zgornji program je podoben tistemu, ki je prikazan v primeru pretvorbe s seznama v matriko. Najprej se seznam pretvori v tok, nato pa metoda zbiranja zbere elemente toka in pretvori v nastavljeno.
Zdaj, ko smo videli različne metode, ki izvajajo pretvorbo s seznama v nabor, si oglejmo metode, ki se uporabljajo za pretvorbo nabora na seznam.
Pretvori na seznam
Podobno kot pretvorbo seznama v niz lahko tudi pretvorite niz v seznam. Za to pretvorbo lahko uporabite zgoraj opisane metode. Edina razlika je v tem, da v programu zamenjate mesta na seznamu in nastavite.
Spodaj so primeri pretvorbe iz nabora v seznam za vsako metodo.
# 1) Uporaba navadne Java
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); } } Izhod:

Zgornji program razglasi in inicializira niz. Nato ustvari seznam in doda vsak nabor element na seznam. Končno natisne seznam.
# 2) Uporaba konstruktorjev
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); } } Izhod:

Tu lahko uporabite konstruktor seznama z nastavljenim objektom kot argumentom. To kopira vse nastavljene elemente v objekt seznama.
# 3) Uporaba metode addAll
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); } } Izhod:

V tem programu je ustvarjen objekt seznama. Nato se z uporabo metode Collections.addAll () elementi nabora dodajo na seznam.
# 4) Uporaba Java 8 Stream
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); } } Izhod:

Za pretvorbo nabora na seznam lahko uporabite tudi tokove Java 8 in način zbiranja, kot je prikazano v zgornjem programu.
Array Vs List
Pogovorimo se o nekaterih razlikah med matriko in seznamom.
Matrika Seznam Matrika je osnovna podatkovna struktura v Javi. Seznam je vmesnik, ki je del okvira za zbiranje v Javi, iz katerega je mogoče razširiti številne razrede, kot so LinkedList, ArrayList itd. Ima fiksno velikost Velikost seznama je dinamična. Do elementov matrike je mogoče dostopati s pomočjo (). Do članov seznama se dostopa z uporabo metod. Polje ima lahko primitivne tipe in tudi predmete kot svoje elemente. Seznami lahko vsebujejo samo predmete. Polja lahko uporabljajo operatorje z njegovimi elementi. Seznami ne morejo uporabljati operatorjev. Namesto tega navaja metode uporabe. Polja ne morejo delovati s generiki, da bi zagotovili varnost tipa. Seznami so lahko splošni.
Pogosto zastavljena vprašanja
V # 1) Kako pretvorite seznam v matriko v Javi?
Odgovor: Osnovna metoda za pretvorbo seznama v matriko v Javi je uporaba metode 'toArray ()' vmesnika List.
Preprost spodnji klic pretvori seznam v matriko.
Object() array = list.toArray();Kot je opisano zgoraj, obstajajo tudi druge metode za pretvorbo seznama v matriko.
V # 2) Ali je matrika seznam v Javi?
Odgovor: Ne. Matrika je osnovna struktura v Javi s fiksno dolžino. Ne sega od vmesnika seznama. Struktura, ki se razteza od vmesnika seznama in je podobna matriki, je ArrayList.
V # 3) Kako pretvorite matriko na seznam v Javi?
Odgovor: Ena od osnovnih metod za pretvorbo polja v seznam v Javi je uporaba metode asList () razreda Arrays.
List aList = Arrays.asList (myarray);Poleg tega obstaja še več metod, ki pretvorijo matriko v seznam, kot smo že omenili v tej vadnici.
V # 4) Kateri je hitrejši nabor ali seznam v Javi?
Odgovor: Odvisno od shranjenih podatkov. Če so podatki enolični, je seznam boljši in hitrejši. Če imate velik nabor podatkov, pojdite na nabore. Nastavljena struktura običajno zahteva 10-krat več pomnilnika kot seznami.
V # 5) Kakšna je razlika med ArrayList in Setom?
Odgovor: Seznam je zbirka urejenih elementov, medtem ko je niz zbirka neurejenih elementov. Seznam ima lahko podvojene elemente, vendar nabor ne more imeti podvojenih elementov.
Zaključek
V tej vadnici smo videli različne pretvorbe seznamov v matriko, nabor in obratno. Opazili smo tudi glavne razlike med matriko in seznamom.
V tej naslednji vadnici bomo podrobno obravnavali razrede seznamov, kot so ArrayList, LinkedList itd.
=> Tukaj si oglejte Perfect Guide Training Guide.
Priporočeno branje
- Java Copy Array: Kako kopirati / klonirati polje v Javi
- Java Array - Kako natisniti elemente polja v Javi?
- Seznam Java - Kako ustvariti, inicializirati in uporabiti seznam v Javi
- Vrste podatkov matrike - int matrika, dvojna matrika, niz nizov itd.
- Java Array - prijavite, ustvarite in inicializirajte polje v Javi
- Kako prenesti / vrniti polje v Javi
- JAVA Vadnica za začetnike: 100+ praktičnih Javnih video vadnic
- Vadnica za dolžino polja Java s primeri kode












