Java 一个List<String> 它是有多个以,隔开的字符串组成,我需要将这个list中字符串变为另一个List<String> 并且元素不能重复
时间: 2024-04-23 14:28:01 浏览: 57
你可以使用Java的Stream API和split()方法来实现这个需求。首先,将每个字符串按逗号拆分,并使用flatMap()将拆分后的字符串流合并为一个流。然后,使用distinct()方法去除重复元素,并将结果收集到一个新的List中。下面是一个示例代码:
```java
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
public class Main {
public static void main(String[] args) {
List<String> originalList = Arrays.asList("A,B,C", "B,C,D", "C,D,E");
List<String> newList = originalList.stream()
.flatMap(str -> Arrays.stream(str.split(",")))
.distinct()
.collect(Collectors.toList());
System.out.println(newList);
}
}
```
输出结果:
```
[A, B, C, D, E]
```
在这个示例中,原始的List包含三个字符串,每个字符串以逗号分隔。使用flatMap()将它们拆分为单独的字符串流,然后使用distinct()方法去除重复元素。最后,使用collect()方法将结果收集到一个新的List中。
阅读全文