Programa para convertir Array a Set en Java

Array es un grupo de variables del mismo tipo a las que se hace referencia con un nombre común. Una array puede contener tipos de datos primitivos, así como objetos de una clase, según la definición de la array. En el caso de tipos de datos primitivos, los valores reales se almacenan en ubicaciones de memoria contiguas. En el caso de objetos de una clase, los objetos reales se almacenan en el segmento de montón. Establecer en Java es parte del paquete java.util y amplía la interfaz java.util.Collection. No permite el uso de elementos duplicados y, como máximo, solo puede acomodar un elemento nulo. Algunas características importantes de la interfaz de Java Set son las siguientes:

  • La interfaz establecida es una colección desordenada de objetos en la que no se pueden almacenar valores duplicados.
  • Java Set no proporciona control sobre la posición de inserción o eliminación de elementos.
  • Básicamente, Set se implementa mediante HashSet, LinkedHashSet o TreeSet (representación ordenada).
  • Set tiene varios métodos para agregar, quitar claro, tamaño, etc. para mejorar el uso de esta interfaz.

Ejemplos:

Input: Array: [Geeks, forGeeks, A computer Portal] 
Output: Set: [Geeks, forGeeks, A computer Portal] 

Input: Array: [1, 2, 3, 4, 5] 
Output: Set: [1, 2, 3, 4, 5]

A continuación se muestran métodos para convertir Array a Set en Java:

Método 1: Método de fuerza bruta o ingenuo : en este método, se crea un conjunto vacío y todos los elementos presentes en la array se agregan uno por uno.

Algoritmo :

  1. Obtener el Array a convertir.
  2. Crear un conjunto vacío
  3. Iterar a través de los elementos en el Array.
  4. Para cada elemento, agréguelo al Conjunto
  5. Devolver el conjunto formado

Ejemplo:

Java

// Java Program to convert
// Array to Set
 
import java.util.*;
import java.util.stream.*;
 
class GFG {
 
    // Generic function to convert an Array to Set
    public static <T> Set<T> convertArrayToSet(T array[])
    {
 
        // Create an empty Set
        Set<T> set = new HashSet<>();
 
        // Iterate through the array
        for (T t : array) {
            // Add each element into the set
            set.add(t);
        }
 
        // Return the converted Set
        return set;
    }
 
    public static void main(String args[])
    {
        // Create an Array
        String array[]
            = { "Geeks", "forGeeks", "A Computer Portal" };
 
        // Print the Array
        System.out.println("Array: "
                           + Arrays.toString(array));
 
        // convert the Array to Set
        Set<String> set = convertArrayToSet(array);
 
        // Print the Set
        System.out.println("Set: " + set);
    }
}
Producción

Array: [Geeks, forGeeks, A Computer Portal]
Set: [A Computer Portal, Geeks, forGeeks]

Forma 2: usar el método Arrays.asList() : en este método, el Array se pasa como parámetro al constructor Set en forma de Array con la ayuda del método Arrays.asList().

Algoritmo :

  1. Obtener el Array a convertir.
  2. Cree el Conjunto pasando el Array como parámetro en el constructor del Conjunto con la ayuda del método Arrays.asList()
  3. Devolver el conjunto formado

Ejemplo

Java

// Java Program to convert
// Array to Set
 
import java.util.*;
import java.util.stream.*;
 
class GFG {
 
    // Generic function to convert an Array to Set
    public static <T> Set<T> convertArrayToSet(T array[])
    {
 
        // Create the Set by passing the Array
        // as parameter in the constructor
        Set<T> set = new HashSet<>(Arrays.asList(array));
 
        // Return the converted Set
        return set;
    }
 
    public static void main(String args[])
    {
        // Create an Array
        String array[]
            = { "Geeks", "forGeeks", "A computer Portal" };
 
        // Print the Array
        System.out.println("Array: "
                           + Arrays.toString(array));
 
        // convert the Array to Set
        Set<String> set = convertArrayToSet(array);
 
        // Print the Set
        System.out.println("Set: " + set);
    }
}
Producción

Array: [Geeks, forGeeks, A computer Portal]
Set: [A computer Portal, Geeks, forGeeks]

Forma 3: Usar Collections.addAll() : Dado que Set es parte del paquete Collection en Java. Por lo tanto, el Array se puede convertir en el Conjunto con la ayuda del método Collections.addAll(). 

Algoritmo :

  1. Obtener el Array a convertir.
  2. Crea un Conjunto vacío.
  3. Agregue la array al Conjunto pasándola como parámetro al método Collections.addAll().
  4. Devolver el conjunto formado

Java

// Java Program to convert
// Array to Set
 
import java.util.*;
import java.util.stream.*;
 
class GFG {
 
    // Generic function to convert an Array to Set
    public static <T> Set<T> convertArrayToSet(T array[])
    {
 
        // Create the Set by passing the Array
        // as parameter in the constructor
        Set<T> set = new HashSet<>();
 
        // Add the array to set
        Collections.addAll(set, Arrays.toString(array));
 
        // Return the converted Set
        return set;
    }
 
    public static void main(String args[])
    {
        // Create an Array
        String array[]
            = { "Geeks", "forGeeks", "A computer Portal" };
 
        // Print the Array
        System.out.println("Array: " + array);
 
        // convert the Array to Set
        Set<String> set = convertArrayToSet(array);
 
        // Print the Set
        System.out.println("Set: " + set);
    }
}

Producción:

Array: [Geeks, forGeeks, A computer Portal]
Set: [Geeks, forGeeks, A computer Portal]

Forma 4: Uso de la API de flujo de Java 8 : el constructor HashSet puede tomar otro objeto de colección para construir un nuevo conjunto que contenga los elementos de la array especificada. Algoritmo :

  1. Obtener el Array a convertir.
  2. Convierta la array en Stream
  3. Convierta la transmisión en conjunto usando Collectors.toSet()
  4. Recopile el conjunto formado utilizando el método collect()
  5. Devolver el conjunto formado

Java

// Java Program to convert
// Array to Set in Java 8
 
import java.util.*;
import java.util.stream.*;
 
class GFG {
 
    // Generic function to convert array to set
    public static <T> Set<T> convertArrayToSet(T array[])
    {
        // create a set from the Array
        return Arrays.stream(array).collect(
            Collectors.toSet());
    }
 
    public static void main(String args[])
    {
        // Create an Array
        String array[]
            = { "Geeks", "forGeeks", "A computer Portal" };
 
        // Print the Array
        System.out.println("Array: "
                           + Arrays.toString(array));
 
        // convert the Array to Set
        Set<String> set = convertArrayToSet(array);
 
        // Print the Set
        System.out.println("Set: " + set);
    }
}
Producción

Array: [Geeks, forGeeks, A computer Portal]
Set: [A computer Portal, Geeks, forGeeks]

Forma 5: usar Guava Sets.newHashSet() : Sets.newHashSet() crea una instancia mutable de HashSet que contiene los elementos de la array especificada. Algoritmo :

  1. Obtener el Array a convertir.
  2. Crea un Conjunto vacío.
  3. Agregue la array al Conjunto pasándola como parámetro al método Sets.newHashSet().
  4. Devuelve el Conjunto formado.

Java

// Java Program to convert
// Array to Set in Java 8
 
import static com.google.common.collect.Sets.*;
import java.util.*;
import java.util.stream.*;
 
class GFG {
 
    // Generic function to convert array to set
    public static <T> Set<T> convertArrayToSet(T array[])
    {
        // create a set from the Array
        return Sets.newHashSet(array);
    }
 
    public static void main(String args[])
    {
        // Create an Array
        String array[] = { "Geeks", "forGeeks",
                                    "A computer Portal" };
 
        // Print the Array
        System.out.println("Array: " + Arrays.toString(array));
 
        // convert the Array to Set
        Set<String>
            set = convertArrayToSet(array);
 
        // Print the Set
        System.out.println("Set: " + set);
    }
}

Producción:

Array: [Geeks, forGeeks, A computer Portal]
Set: [Geeks, forGeeks, A computer Portal]

Forma 6: Usando el método Set.of(): Para usar este método, tenemos que importar el paquete java.util. Se introdujo en Java 9. Este es un método de fábrica estático que se usa para devolver el objeto establecido. Este método devolverá la instancia del conjunto inmutable, pero podemos convertirlo en un conjunto mutable dándolo dentro del constructor de HashSet. Primero, ingrese el elemento de la array y declare el objeto establecido. Llame al método para convertir una array en un conjunto. Ahora, pase la array como parámetro y devuelva la instrucción new Hashset<>(Set.of(arrayname)). 

Java

import java.util.*;
 
class GFG {
    public static <T> Set<T> convertArrayToSet(T array[])
    {
        // create a set from the array
        return new HashSet<>(Set.of(array));
    }
   
    public static void main(String args[])
    {
        // create an Array
        String array[] = { "geeks", "forgeeks",
                                    "learning","platform" };
   
        // printing the Array
        System.out.println("Array: " + Arrays.toString(array));
   
        // declare the set object and call the function for conversion
        Set<String>
            set = convertArrayToSet(array);
   
        // print the Set
        System.out.println("Set: " + set);
    }
}
Producción

Array: [geeks, forgeeks, learning, platform]
Set: [geeks, forgeeks, learning, platform]

Publicación traducida automáticamente

Artículo escrito por RishabhPrabhu y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *