stream流获取字符串集合中的重复的字符为新的集合
时间: 2024-11-27 19:18:37 浏览: 15
在Java中,你可以使用Stream API来处理字符串集合并找到其中重复的字符。首先,你需要将字符串转换为字符流(CharacterStream),然后利用Stream的特性来过滤、去重,并收集成一个新的集合。这里是一个简单的步骤示例:
```java
import java.util.*;
import java.util.stream.*;
List<String> stringList = Arrays.asList("hello", "world", "java");
// 将所有字符串连接成一个大字符串,便于找出重复字符
String combinedStr = stringList.stream().collect(Collectors.joining());
// 转换为字符流,然后查找重复字符
Set<Character> uniqueChars = new HashSet<>();
combinedStr.chars()
.distinct() // 去除重复字符
.forEach(combinedChars::add); // 收集到HashSet中自动去除重复
// 找出重复的字符
List<Character> duplicateChars = combinedChars.stream()
.filter(combinedChars::contains)
.distinct() // 再次去重,因为可能有多个重复
.collect(Collectors.toList());
System.out.println(duplicateChars);
```
阅读全文