I Java, Array og Liste er de to viktigste datastrukturene. I denne delen vil vi lære hvordan konvertere Java Array til en liste. Vi har også skapt Java-programmer som konverterer Array til en liste ved å bruke forskjellige Java-metoder.
Konvertering av Array til List i Java
Java-array er en samling av flere verdier av samme datatype. En matrise kan inneholde objekter og primitive typer. Det avhenger av definisjonen av matrisen. Hvis en matrisedefinisjon er av primitiv type, lagres verdiene til matrisen i den smittsomme minneposisjonen. Hvis en matrise inneholder objektelementer, elementer lagret i heap-segmentet.
I Java , a Liste er et grensesnitt som tilhører Java Collections-rammeverket. Den lagrer elementer i form av objekter på en ordnet måte og bevarer innsettingsrekkefølgen. Det lar oss lagre dupliserte verdier. Klassene ArrayList , LinkedList , Vektor og Stable implementerer List-grensesnittet.
Java gir fem metoder for å konvertere Array til en liste er som følger:
- Innfødt metode
- Bruke Arrays.asList()-metoden
- Ved å bruke Collections.addAll()-metoden
- Bruker Java 8 Stream API
- Bruke Guava Lists.newArrayList()-metoden
Innfødt metode
Det er den enkleste metoden for å konvertere Java Array til en liste. I denne metoden oppretter vi først en tom liste og legger til alle elementene i matrisen i listen. La oss se et eksempel.
ArrayToListExample1.java
gratis ipconfig
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; } }
Produksjon:
Bruke Arrays.asList()-metoden
Det er metoden til Java Arrays-klassen som tilhører java.util-pakken. Når vi bruker asList()-metoden med Collection.toArray()-metoden, fungerer den som en bro mellom array-baserte og samlingsbaserte APIer.
Syntaks:
public static List asList(T... a)
Metoden analyserer en matrise som en parameter som listen skal støttes av. Den returnerer en serialiserbar listevisning med fast størrelse av den angitte matrisen. La oss se et eksempel.
ArrayToListExample2.java
er lik streng i 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; } }
Produksjon:
Ved å bruke Collections.addAll()-metoden
Det er metoden til Java-samlinger klasse. den tilhører java.util-pakken. Klassen gir en metode kalt Legg til alle() . Vi kan bruke metoden til å konvertere Array til en liste. Den legger til alle elementene til den angitte samlingen. Vi kan spesifisere elementer enten individuelt eller i form av en matrise. Det fungerer på samme måte som c.addAll(Arrays.asList(elements)). Det er en raskere implementering enn en annen implementering.
Syntaks:
public static boolean addAll(Collection c, T... elements)
Den analyserer to parametere:
Den kommer tilbake ekte dersom samlingen endret seg som følge av samtalen. Det gir følgende unntak:
- Hvis parameteren c ikke støtter add-operasjonen, kaster den UnsupportedOperationException .
- Hvis de angitte matriseelementene inneholder en eller flere nullverdier og c ikke tillater nullelementer, kaster den NullPointerException .
- Hvis et array-element hindrer det i å bli lagt til parameteren c, kaster det IllegalPointerException .
La oss se et eksempel.
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; } }
Produksjon:
string concat java
Bruker Java 8 Stream API
Java 8 gir Stream API å behandle samlingene av gjenstander. Det er en sekvens av metoder som kan brukes i pipeline for å produsere det ønskede resultatet. Husk at det ikke endrer den opprinnelige datastrukturen. Den gir utdata basert på de pipelinede metodene. Vi kan oppnå Stream på en rekke måter, men i det følgende programmet har vi brukt Arrays.stream(Object[]) for å oppnå strømmen.
Collectors.toList() Metode: Metoden returnerer en Collector som samler input-elementene til en nyopprettet liste i en encounter-metode.
Syntaks:
public static Collector<t,?,list> toList() </t,?,list>
Hvor T er typen element som vi har spesifisert. Metoden gir ingen garantier for type, mutabilitet, trådsikkerhet og serialiserbarhet.
La oss bruke Stream API i et Java-program og konvertere en matrise til en liste.
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); } }
Produksjon:
Bruke Guava Lists.newArrayList()
Det er metoden til Lister klasse som tilhører com.google.common.collect pakke. Klassen gir en metode newArrayList() som skaper mutbar tom ArrayList-forekomst som har elementene til den angitte matrisen.
java konverter char til int
Syntaks:
public static ArrayList newArrayList(E... elements)
Merk: metoden newArrayList() er tilgjengelig for Java 6 og tidligere versjoner. I senere versjoner er det utdatert. I stedet for metoden ovenfor bruker vi ArrayList-konstruktøren direkte.
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); } }
Produksjon: