📜  Java中将整数集转换为整数数组的程序

📅  最后修改于: 2022-05-13 01:54:33.109000             🧑  作者: Mango

Java中将整数集转换为整数数组的程序

Java Set 是Java.util 包的一部分,扩展了Java.util.Collection 接口。它不允许使用重复元素,并且最多只能容纳一个空元素。

Stream 是一系列支持各种方法的对象,这些方法可以流水线化以产生所需的结果。 Java 8 Stream API 可用于转换Set设置.

  1. 使用Java 8 Stream :Stream 是一系列支持各种方法的对象,这些方法可以通过流水线方式产生所需的结果。 Java 8 Stream API 可用于转换 Set到 int[]。

    算法

    1. 获取整数集。
    2. 将整数集转换为整数流。
      这是使用 Set.stream() 完成的。
    3. 将整数流转换为 IntStream。
    4. 将 IntStream 转换为 int[]。
      这是使用 IntStream.toArray() 完成的。
    5. 返回/打印整数数组 int[]

    程序:

    // Java Program to convert
    // Set to int[] in Java 8
      
    import java.util.*;
    import java.util.stream.*;
    import java.util.function.Function;
      
    class GFG {
      
        // Function to convert Set of Integer to Set of String
        public static int[] convertIntSetToStringSet(
                                     Set setOfInteger)
        {
            return setOfInteger.stream()
                .mapToInt(Integer::intValue)
                .toArray();
        }
      
        public static void main(String args[])
        {
            // Create a set of integers
            Set setOfInteger = new HashSet<>(
                Arrays.asList(1, 2, 3, 4, 5));
      
            // Print the set of Integer
            System.out.println("Set of Integer: " + setOfInteger);
      
            // Convert Set of integers to set of String
            int[] intArray = convertIntSetToStringSet(setOfInteger);
      
            // Print the set of String
            System.out.println("Array of Integer: "
                               + Arrays.toString(intArray));
        }
    }
    
    输出:
    Set of Integer: [1, 2, 3, 4, 5]
    Array of Integer: [1, 2, 3, 4, 5]
    
  2. 使用 Guava Ints.toArray() :Guava Ints.toArray() 可用于将整数集转换为整数数组。

    算法

    1. 获取整数集
    2. 通过 Guava 库的 Ints.toArray() 方法创建一个整数数组,将整数集作为参数传递给该方法。
    3. 返回/打印创建的整数数组 int[]

    程序:

    // Java Program to convert
    // Set to int[] in Java 8
      
    import com.google.common.primitives.Ints;
    import java.util.*;
    import java.util.stream.*;
    import java.util.function.Function;
      
    class GFG {
      
        // Function to convert Set of Integer
        // to Set of String
        public static int[] convertIntSetToStringSet(
                                  Set setOfInteger)
        {
            return Ints.toArray(setOfInteger);
        }
      
        public static void main(String args[])
        {
            // Create a set of integers
            Set setOfInteger = new HashSet<>(
                Arrays.asList(1, 2, 3, 4, 5));
      
            // Print the set of Integer
            System.out.println("Set of Integer: " + setOfInteger);
      
            // Convert Set of integers to set of String
            int[] intArray = convertIntSetToStringSet(setOfInteger);
      
            // Print the set of String
            System.out.println("Array of Integer: "
                               + Arrays.toString(intArray));
        }
    }
    

    输出:

    Set of Integer: [1, 2, 3, 4, 5]
    Array of Integer: [1, 2, 3, 4, 5]
    
  3. 使用 Apache Commons toPrimitive() :Apache Commons Lang 的 ArrayUtils 类提供了 toPrimitive() 方法,可以将对象整数数组转换为原始整数。这组整数需要转换为整数数组。

    算法

    1. 获取整数集
    2. 通过 Apache Commons Lang 库的 ArrayUtils.toPrimitive() 方法创建 Primitive int 的对象
    3. 使用 toArray() 方法将此原始 int 转换为整数数组。
    4. 返回/打印创建的整数数组 int[]

    程序:

    // Java Program to convert
    // Set to int[] in Java 8
      
    import org.apache.commons.lang.ArrayUtils;
    import java.util.*;
    import java.util.stream.*;
    import java.util.function.Function;
      
    class GFG {
      
        // Function to convert Set of Integer
        // to Set of String
        public static int[] convertIntSetToStringSet(
                                Set setOfInteger)
        {
            return ArrayUtils
                .toPrimitive(setOfInteger
                                 .toArray(new Integer[0]));
        }
      
        public static void main(String args[])
        {
            // Create a set of integers
            Set setOfInteger = new HashSet<>(
                Arrays.asList(1, 2, 3, 4, 5));
      
            // Print the set of Integer
            System.out.println("Set of Integer: " + setOfInteger);
      
            // Convert Set of integers to set of String
            int[] intArray = convertIntSetToStringSet(setOfInteger);
      
            // Print the set of String
            System.out.println("Array of Integer: "
                               + Arrays.toString(intArray));
        }
    }
    

    输出:

    Set of Integer: [1, 2, 3, 4, 5]
    Array of Integer: [1, 2, 3, 4, 5]