JavaRush /Blog Java /Random-ES /Pausa para el café #144. Cómo convertir una matriz a List...

Pausa para el café #144. Cómo convertir una matriz a Lista (ArrayList) en Java. Inyección de dependencia en Java

Publicado en el grupo Random-ES

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. Pausa para el café #144.  Cómo convertir una matriz a Lista (ArrayList) en Java.  Inyección de dependencia en Java - 1Aunque 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:
  1. Método ingenuo o de fuerza bruta.
  2. Método Arrays.asList() .
  3. 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.
Este ejemplo convierte una variedad de frutas en una lista de frutas:
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.
A continuación se muestra un ejemplo del uso del método Arrays.asList() para convertir una matriz de frutas en una lista:
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.
Ejemplo:
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. Pausa para el café #144.  Cómo convertir una matriz a Lista (ArrayList) en Java.  Inyección de dependencia en Java - 2La 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:
  1. Clase de servicio que proporciona servicios a una clase de cliente.
  2. Clase de cliente: una clase que depende de la clase de servicio.
  3. 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:
  1. 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.
  2. 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.
  3. 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.
Comentarios
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION