📜  在Java中将字符串集转换为整数集的程序

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

在Java中将字符串集转换为整数集的程序

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

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

算法

  1. 获取字符串的集合。
  2. 将字符串集合转换为字符串流。这是使用 Set.stream() 完成的。
  3. 将字符串流转换为整数流。这是使用 Stream.map() 并将 Integer.parseInt() 方法作为 lambda 表达式传递来完成的。
  4. 将整数流收集到整数集中。这是使用 Collectors.toSet() 完成的。
  5. 返回/打印字符串集。

方案一:使用直接转换。

// Java Program to convert
// Set to Set in Java 8
  
import java.util.*;
import java.util.stream.*;
  
class GFG {
  
    public static void main(String args[])
    {
        // Create a set of String
        Set setOfString = new HashSet<>(
            Arrays.asList("1", "2", "3", "4", "5"));
  
        // Print the set of String
        System.out.println("Set of String: " + setOfString);
  
        // Convert Set of String to set of Integer
        Set setOfInteger = setOfString.stream()
                                        .map(s -> Integer.parseInt(s))
                                        .collect(Collectors.toSet());
  
        // Print the set of Integer
        System.out.println("Set of Integer: " + setOfInteger);
    }
}
输出:
Set of String: [1, 2, 3, 4, 5]
Set of Integer: [1, 2, 3, 4, 5]

方案 2:使用泛型函数。

// Java Program to convert
// Set to Set in Java 8
  
import java.util.*;
import java.util.stream.*;
import java.util.function.Function;
  
class GFG {
  
    // Generic function to convert Set of
    // String to Set of Integer
    public static  Set
    convertStringSetToIntSet(Set setOfString,
                             Function function)
    {
        return setOfString.stream()
            .map(function)
            .collect(Collectors.toSet());
    }
  
    public static void main(String args[])
    {
  
        // Create a set of String
        Set setOfString = new HashSet<>(
            Arrays.asList("1", "2", "3", "4", "5"));
  
        // Print the set of String
        System.out.println("Set of String: " + setOfString);
  
        // Convert Set of String to set of Integer
        Set setOfInteger = convertStringSetToIntSet(
            setOfString,
            Integer::parseInt);
  
        // Print the set of Integer
        System.out.println("Set of Integer: " + setOfInteger);
    }
}
输出:
Set of String: [1, 2, 3, 4, 5]
Set of Integer: [1, 2, 3, 4, 5]