Cómo convertir una matriz a una lista (ArrayList) en Java
Fuente: Rrtutors Hoy aprenderá sobre diferentes formas de convertir una matriz en una Lista (ArrayList) y verá ejemplos de código en cada una de ellas. Aunque las matrices son simples y fáciles de usar, tienen muchas limitaciones, como el tamaño fijo. Esto dificulta agregar un nuevo elemento al principio y reorganizar elementos. Gracias al Collections Framework, podemos implementar List, Set y Queue de diferentes maneras. Por ejemplo, utilizando una lista de matrices universal y flexible (ArrayList). Hay tres métodos que puede utilizar al convertir una matriz en Java. Estos métodos incluyen:- Método ingenuo o de fuerza bruta.
- Método Arrays.asList() .
- Método Collections.addAll() .
Usar un método ingenuo o de fuerza bruta
En este método, se crea una lista a partir de una matriz vacía y cada elemento de la matriz se agrega uno por uno. El método funciona después de hacer lo siguiente:- Obtenga la matriz.
- Crea una lista vacía.
- Recorre los elementos de la matriz.
- Ahora agregue cada elemento a la matriz.
- Devuelve la 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 el método Arrays.asList() , se pasa una matriz al constructor de Lista como parámetro del constructor. Para convertir una matriz en una lista aquí, debe seguir los siguientes pasos:- Obtenga la matriz.
- Cree una lista pasando la matriz como parámetro en el constructor de la lista.
- Devuelve la 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()
Dado que las listas son parte del paquete Collection en Java, puede convertir una matriz en una lista utilizando el método Collections.addAll() . Este método convierte una matriz en una lista siguiendo los siguientes pasos:- Obtenemos una matriz.
- Crea una lista vacía.
- Convirtamos la matriz en una lista usando el método collections.addAll() .
- Devolvemos una 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);
}
}
Conclusión:
Matriz: [guisantes, tomates, sandías] Lista: [guisantes, tomates, sandías]
Inyección de dependencia en Java
Fuente: Medio En esta publicación, aprenderá qué es la inyección de dependencia en Java, dónde se usa y qué beneficios brinda al desarrollador. La inyección de dependencia (DI) es el proceso de proporcionar una dependencia externa a un componente de software. La inyección de dependencia tiene como objetivo separar los problemas de crear objetos de su uso. El principio de incrustación supone que un objeto o función que quiere utilizar un servicio determinado no necesita saber cómo crearlo. En cambio, el "cliente" receptor (objeto o función) recibe sus dependencias de un código externo (un "inyector") que desconoce. He aquí un buen ejemplo. Cuando una clase X usa alguna funcionalidad de una clase Y, decimos que la clase X tiene una dependencia de la clase Y. La inyección de dependencia le permite crear objetos dependientes fuera de la clase y expone esos objetos a la clase de varias maneras. En este caso, la creación y vinculación de objetos dependientes se trasladan fuera de la clase que depende de ellos. El patrón de inyección de dependencia incluye tres tipos de clases:- Clase de servicio que proporciona servicios a una clase de cliente.
- Clase de cliente: una clase que depende de la clase de servicio.
- La clase Injector es una clase que inyecta un objeto de clase de servicio en una clase de cliente.
Tipos de inyección de dependencia
Hay tres tipos de inyección de dependencia:- Inyección de constructor: cuando se produce la inyección de constructor , el inyector proporciona un servicio (dependencia) a través del constructor de la clase de cliente.
- Inyección de Setter : en este tipo de inyección (también conocida como inyección de propiedad), el inyector expone una dependencia a través de una propiedad pública de la clase de cliente.
- Inyección de método : en este tipo de inyección, la clase de cliente implementa una interfaz que declara los métodos para proporcionar la dependencia. El inyector utiliza esta interfaz para proporcionar la dependencia a la clase de cliente.
Beneficios de la inyección de dependencia
Implementar la inyección de dependencia nos brinda los siguientes beneficios:- Reutilización de código.
- Facilidad de refactorización.
- Facilidad de prueba.
GO TO FULL VERSION