我目前正在使用 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 循环以及其中完成的操作?
您实际上不需要流。您可以像这样使用 forEach 。
valueUniqueToRemplace.forEach(i -> wordToList.set(i, "_"));
如果你想使用stream,你可以这样做
valueUniqueToRemplace.stream.forEach(i -> wordToList.set(i, "_"));
虽然这两种方法看起来相似,但存在语义差异。