Como converter array em lista (ArrayList) em Java
Fonte: Rrtutors Hoje você aprenderá sobre diferentes maneiras de converter um array em uma Lista (ArrayList) e verá exemplos de código em cada uma delas. Embora os arrays sejam simples e fáceis de usar, eles têm muitas limitações, como tamanho fixo. Isso torna difícil adicionar um novo elemento no início e reorganizar os elementos. Graças ao Collections Framework, podemos implementar List, Set e Queue de diferentes maneiras. Por exemplo, usando uma lista universal e flexível de arrays (ArrayList). Existem três métodos que você pode usar ao converter um array em Java. Esses métodos incluem:- Método Ingênuo ou de Força Bruta.
- Método Arrays.asList() .
- Método Collections.addAll() .
Usando um método ingênuo ou de força bruta
Neste método, uma lista é criada a partir de um array vazio e cada elemento do array é adicionado a ela um por um. O método funciona depois de fazer o seguinte:- Obtenha a matriz.
- Crie uma lista vazia.
- Faça um loop pelos elementos da matriz.
- Agora adicione cada elemento ao array.
- Devolva a lista completa.
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class NaivemethodExample {
public static <T> List<T> convertArrayToList(T array[])
{
List<T> list = new ArrayList<>();
for (T t : array) {
list.add(t);
}
return list;
}
public static void main(String args[])
{
String array[]
= { "Mangoes", "Oranges", "berries" };
System.out.println("Array: "
+ Arrays.toString(array));
List<String> list = convertArrayToList(array);
System.out.println("List: " + list);
}
}
Método Arrays.asList()
Usando o método Arrays.asList() , um array é passado para o construtor List como um parâmetro para o construtor. Para converter um array em uma lista aqui você precisa seguir os seguintes passos:- Obtenha a matriz.
- Crie uma lista passando o array como parâmetro no construtor da lista.
- Devolva a lista completa.
package asList;
import java.util.Arrays;
import java.util.List;
public class asListExample {
public static <T> List<T> convertArrayToList(T array[])
{
List<T> list = Arrays.asList(array);
return list;
}
public static void main(String args[])
{
String array[]
= { "Mangoes", "Oranges", "berries" };
System.out.println("Array: "
+ Arrays.toString(array));
List<String> list = convertArrayToList(array);
System.out.println("List: " + list);
}
}
Método Collections.addAll()
Como as listas fazem parte do pacote Collection em Java, você pode converter um array em uma lista usando o método Collections.addAll() . Este método converte um array em uma lista usando as seguintes etapas:- Obtemos uma matriz.
- Crie uma lista vazia.
- Vamos converter o array em uma lista usando o método Collections.addAll() .
- Retornamos uma lista.
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
public class collectionsall {
public static <T> List<T> convertArrayToList(T array[])
{
List<T> list = new ArrayList<>();
Collections.addAll(list, array);
return list;
}
public static void main(String args[])
{
String array[]
= { "peas", "tomatoes", "water melons" };
System.out.println("Array: "
+ Arrays.toString(array));
List<String> list = convertArrayToList(array);
System.out.println("List: " + list);
}
}
Conclusão:
Matriz: [ervilhas, tomates, melancias] Lista: [ervilhas, tomates, melancias]
Injeção de Dependência em Java
Fonte: Médio Neste post você aprenderá o que é injeção de dependência em Java, onde ela é usada e quais benefícios ela proporciona ao desenvolvedor. Injeção de Dependência (DI) é o processo de fornecer uma dependência externa a um componente de software. A injeção de dependência visa separar os problemas de criação de objetos do seu uso. O princípio de incorporação pressupõe que um objeto ou função que queira utilizar um determinado serviço não precisa saber como criá-lo. Em vez disso, o "cliente" receptor (objeto ou função) recebe suas dependências de código externo (um "injetor") do qual não tem conhecimento. Aqui está um bom exemplo. Quando uma classe X usa alguma funcionalidade de uma classe Y, dizemos que a classe X depende da classe Y. A injeção de dependência permite criar objetos dependentes fora da classe e expõe esses objetos à classe de várias maneiras. Nesse caso, a criação e a ligação de objetos dependentes são movidas para fora da classe que deles depende. O padrão de injeção de dependência inclui três tipos de classes:- Classe de serviço que fornece serviços a uma classe de cliente.
- Classe Cliente - uma classe que depende da classe de serviço.
- Classe Injector é uma classe que injeta um objeto de classe de serviço em uma classe cliente.
Tipos de injeção de dependência
Existem três tipos de injeção de dependência:- Injeção de Construtor - Quando ocorre injeção de construtor , o injetor fornece um serviço (dependência) através do construtor da classe cliente.
- Injeção de Setter - Neste tipo de injeção (também conhecida como injeção de propriedade), o injetor expõe uma dependência através de uma propriedade pública da classe cliente.
- Injeção de Método - Neste tipo de injeção, a classe cliente implementa uma interface que declara o(s) método(s) para fornecer a dependência. O injetor usa essa interface para fornecer a dependência à classe cliente.
Benefícios da injeção de dependência
A implementação da injeção de dependência nos oferece as seguintes vantagens:- Reutilização de código.
- Facilidade de refatoração.
- Facilidade de teste.
GO TO FULL VERSION