¿Cómo convertir una array en LinkedHashSet en Java?

Una array es una colección de elementos almacenados en ubicaciones de memoria contiguas. Una array puede contener tipos de datos primitivos, así como objetos de una clase, según la definición de la array. Mientras que LinkedHashSet contiene solo elementos únicos y se almacenan en el mismo orden en que se insertan.

Ejemplos:

Input: arr = {"A", "B", "C", "D", "A"}
Output: LinkedHashSet = {"A", "B", "C", "D"}
LinkedHashSet does not contain repeated elements.

Input: arr = {1, 3, 5, 3, 1}
Output: LinkedHashset = {1, 3, 5}

Hay varias formas en las que podemos convertir una array en un objeto de LinkedHashSet en Java, como se indica a continuación:

1. Usando el método asList y el constructor LinkedHashSet

  • La clase LinkedHashSet proporciona un constructor que acepta un objeto de colección.
  • Pero para usar eso, necesitamos convertir la array en una Lista usando el método asList de la clase Arrays.

Java

// Java program to convert an array to LinkedHashSet
  
import java.util.Arrays;
import java.util.LinkedHashSet;
import java.util.Set;
  
public class ArrayToLinkedHashSet {
  
    public static void main(String[] args)
    {
  
        // array of string
        String[] names
            = { "John", "Devid", "Smith", "Joe", "Stark" };
  
        // First convert the name array to List and then
        // use the LinkedHashSet constructor to convert
        // array to linkedhasset
  
        Set<String> linkedhasset_name
            = new LinkedHashSet<String>(Arrays.asList(names));
  
        System.out.println(
            "LinkedHashSet contains element: " + linkedhasset_name);
    }
}
Producción

LinkedHashSet contains element: [John, Devid, Smith, Joe, Stark]

2. Usando el método asList y el método addAll

  • Similar al enfoque anterior, primero convertiremos una array en una Lista
  • Pero esta vez, en lugar de usar el constructor, usaremos el método addAll para agregar elementos de la array a un conjunto hash vinculado.

Java

// Java program to convert an array to LinkedHashSet
  
import java.util.Arrays;
import java.util.LinkedHashSet;
import java.util.Set;
   
public class ArrayToLinkedHashSet {
   
    public static void main(String[] args) {
          
       String[] names = {"John", "Devid", "Smith", "Joe", "Stark"};
   
      //create new empty LinkedHashSet object to store array element    
      Set<String> linkhasset_name = new LinkedHashSet<String>();
  
      //add all elements of list to LinkedHashSet
      linkhasset_name.addAll( Arrays.asList(names) );
  
      System.out.println("LinkedHashSet contains: " + linkhasset_name);
    }
}
Producción

LinkedHashSet contains: [John, Devid, Smith, Joe, Stark]

3. Uso de la API de flujo de Java 8:

  • Similar a HashSet, también puede usar el método toCollection() de la clase Collectors para convertir un Stream en LinkedHashSet.
  • Primero, convierta la array en secuencia y luego convierta la secuencia en LinkedHashSet utilizando la secuencia de recopilación que solo funciona en la versión Java 8.
collect( Collectors.toCollection( LinkedHashSet::new ) );

Java

// Java program to convert an array to LinkedHashSet
  
import java.io.*; 
import java.util.ArrayList; 
import java.util.LinkedHashSet;
import java.util.*; 
import java.util.stream.*;
import java.util.Set;
   
public class ArrayToLinkedHashSet {
   
    public static void main(String[] args) {
          
    String[] names = {"John", "Devid", "Smith", "Joe", "Stark"};
   
    //create new empty LinkedHashSet object    
    Set<String> linkhasset_name = new LinkedHashSet<String>();
  
    //add all elements of list to LinkedHashSet
     linkhasset_name = Arrays.stream(names).collect( Collectors.toCollection( LinkedHashSet::new ) );
  
    System.out.println("LinkedHashSet contains: " + linkhasset_name);
  
    }
}
Producción

LinkedHashSet contains: [John, Devid, Smith, Joe, Stark]

4. Usando un bucle o fuerza bruta

  • Podemos iterar a través de todos los elementos de la array usando un bucle for y agregar elementos al objeto LinkedHashSet uno por uno como se indica a continuación.

Java

// Java program to convert an array to LinkedHashSet
  
import java.io.*; 
import java.util.ArrayList; 
import java.util.LinkedHashSet;
import java.util.*; 
import java.util.Set;
   
public class ArrayToLinkedHashSet {
   
    public static void main(String[] args) {
  
      String[] names = {"John", "Devid", "Smith", "Joe", "Stark"};
  
      //create new empty LinkedHashSet object    
      Set<String> linkhasset_name = new LinkedHashSet<String>();
  
      //iterate an array and add elements one by one to the linkedhasset
      for(String name : names){
          linkhasset_name.add(name);
      }
  
      System.out.println("LinkedHashSet contains: " + linkhasset_name);
    }
}
Producción

LinkedHashSet contains: [John, Devid, Smith, Joe, Stark]

Publicación traducida automáticamente

Artículo escrito por patelnagendra1 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 *