如何将对列表的修改从集合的值引入java流?

问题描述 投票:0回答:1

我目前正在使用 Java 并练习我的编程逻辑,作为一个好的实践,我尝试在 Java 集合的某些操作中应用流。

在这种情况下,我有一个接收字符串和集合列表的方法,必须将字符串放入列表中,以根据集合中找到的值替换其字符,一旦替换,它们将被带回字符串并它返回:

private static String wordToGuess(String word,List<Integer> valueUniqueToRemplace){
    List<String> wordToList=new ArrayList<>(Arrays.asList(word.split("")));
    for (Integer integer : valueUniqueToRemplace) {
        wordToList.set(integer, "_");
    }
    return wordToList.stream().map(String::valueOf).collect(Collectors.joining(""));
}

如何用流函数替换 for 循环以及其中完成的操作?

java set java-stream
1个回答
0
投票

您实际上不需要流。您可以像这样使用 forEach

valueUniqueToRemplace.forEach(i -> wordToList.set(i, "_"));

如果你想使用stream,你可以这样做

valueUniqueToRemplace.stream.forEach(i -> wordToList.set(i, "_"));

虽然这两种方法看起来相似,但存在语义差异。

© www.soinside.com 2019 - 2024. All rights reserved.