logo

Matriz Java para listar

Em Java, Variedade e Lista são as duas estruturas de dados mais importantes. Nesta seção, aprenderemos como converter Java Array em uma lista. Nós também criamos Programas Java que convertem Array em uma Lista usando diferentes métodos Java.

Convertendo array em lista em Java

Matriz Java é uma coleção de vários valores do mesmo tipo de dados. Uma matriz pode conter objetos e tipos primitivos. Depende da definição do array. Se uma definição de array for do tipo primitivo, os valores do array são armazenados no local de memória contagioso. Se uma matriz contém elementos de objetos, elementos armazenados no segmento de heap.

java comparar strings

Em Java , a Lista é uma interface que pertence à estrutura Java Collections. Armazena elementos na forma de objetos de maneira ordenada e preserva a ordem de inserção. Isso nos permite armazenar valores duplicados. As classes ListaArray , Lista vinculada , Vetor e Pilha implementa a interface Lista.

Matriz Java para listar

Java fornece cinco métodos para converter Array em uma Lista:

  • Método Nativo
  • Usando o método Arrays.asList()
  • Usando o método Collections.addAll()
  • Usando a API Java 8 Stream
  • Usando o método Guava Lists.newArrayList()

Método Nativo

É o método mais simples para converter Java Array em uma lista. Neste método primeiro, criamos uma Lista vazia e adicionamos todos os elementos do array à Lista. Vejamos um exemplo.

ArrayToListExample1.java

 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; } } 

Saída:

Matriz Java para listar

Usando o método Arrays.asList()

É o método da classe Java Arrays que pertence ao pacote java.util. Quando usamos o método asList() com o método Collection.toArray(), ele funciona como uma ponte entre APIs baseadas em array e APIs baseadas em coleção.

Sintaxe:

 public static List asList(T... a) 

O método analisa um array como um parâmetro pelo qual a lista será apoiada. Ele retorna uma visualização de lista serializável de tamanho fixo da matriz especificada. Vejamos um exemplo.

ArrayToListExample2.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; } } 

Saída:

Matriz Java para listar

Usando o método Collections.addAll()

É o método do Coleções Java aula. pertence ao pacote java.util. A classe fornece um método chamado adicionarTodos() . Podemos usar o método para converter Array em uma Lista. Adiciona todos os elementos à coleção especificada. Podemos especificar elementos individualmente ou na forma de um array. Funciona da mesma forma que c.addAll(Arrays.asList(elementos)). É uma implementação mais rápida do que outra implementação.

Sintaxe:

 public static boolean addAll(Collection c, T... elements) 

Ele analisa dois parâmetros:

    c:É uma coleção na qual elementos devem ser adicionados.elementos: Os elementos devem ser inseridos em c.

Ele retorna verdadeiro se a coleção mudou como resultado da chamada. Ele lança as seguintes exceções:

  • Se o parâmetro c não suportar a operação add, ele lança UnsupportedOperationException .
  • Se os elementos da matriz especificados contiverem um ou mais valores nulos e c não permitir elementos nulos, ele lançará Null Pointer Exception .
  • Se algum elemento do array impedir que ele seja adicionado ao parâmetro c ele lança IllegalPointerException .

Vejamos um exemplo.

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; } } 

Saída:

Matriz Java para listar

Usando a API Java 8 Stream

Java 8 fornece a API Stream para processar as coleções de objetos. É uma sequência de métodos que podem ser canalizados para produzir o resultado desejado. Lembre-se de que isso não altera a estrutura de dados original. Ele fornece a saída com base nos métodos em pipeline. Podemos obter o Stream de várias maneiras, mas no programa a seguir, usamos Arrays.stream(Objeto[]) para alcançar o fluxo.

Método Collectors.toList(): O método retorna um Coletor que coleta os elementos de entrada em uma Lista recém-criada em um método de encontro.

Sintaxe:

 public static Collector<t,?,list> toList() </t,?,list>

Onde T é o tipo de elemento que especificamos. O método não fornece garantias sobre tipo, mutabilidade, segurança de thread e serialização.

java adicionar ao array

Vamos usar a API Stream em um programa Java e converter um array em uma lista.

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[] = { &apos;Python&apos;, &apos;HTM&apos;, &apos;Java&apos;, &apos;C&apos;, &apos;C++&apos;, &apos;JavaScript&apos;, &apos;Ruby&apos;, &apos;Swift&apos;, &apos;PHP&apos; }; //prints the Array before conversion System.out.println(&apos;Array: &apos;+ 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(&apos;List: &apos; + list); } } 

Saída:

Matriz Java para listar

Usando Guava Lists.newArrayList()

É o método do Listas classe que pertence com.google.common.collect pacote. A classe fornece um método novaArrayList() que cria uma instância ArrayList vazia e mutável com os elementos do array especificado.

Sintaxe:

 public static ArrayList newArrayList(E... elements) 

Nota: O método newArrayList() está disponível para Java 6 e versões anteriores. Em versões posteriores, ele está obsoleto. Em vez do método acima, usamos o construtor ArrayList diretamente.

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[] = { &apos;Mango&apos;, &apos;Banana&apos;, &apos;Grapes&apos;, &apos;Apple&apos;, &apos;Plum&apos;, &apos;Blackberry&apos;, &apos;Papaya&apos;, &apos;Orange&apos; }; //prints the Array before conversion System.out.println(&apos;Array: &apos;+ Arrays.toString(arr)); //convert the Array to List List list = ArrayToListConversion(arr); //prints the List System.out.println(&apos;List: &apos; + 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); } } 

Saída:

Matriz Java para listar