java 将一个list<String>里的值去重,并以逗号隔开,输出一个字符串类型
时间: 2024-03-27 12:40:35 浏览: 17
可以使用以下代码将一个 `List<String>` 去重并输出一个用逗号隔开的字符串:
```java
List<String> list = new ArrayList<>(Arrays.asList("a", "b", "c", "b", "d", "a"));
String result = list.stream().distinct().collect(Collectors.joining(","));
System.out.println(result);
```
首先将 List 转换成 Stream,使用 `distinct()` 方法去重,然后使用 `Collectors.joining(",")` 方法将去重后的字符串拼接成一个字符串,用逗号隔开。最后输出这个字符串。
相关问题
List<String>遍历每一个字段以逗号分隔存在新的list<String>去重
可以使用Java 8的Stream API和Collectors类来实现:
```java
List<String> list1 = Arrays.asList("a", "b", "c");
List<String> list2 = Arrays.asList("b", "c", "d");
List<String> result = Stream.concat(list1.stream(), list2.stream())
.distinct()
.collect(Collectors.toList());
System.out.println(result); // 输出 [a, b, c, d]
```
首先使用Stream.concat()方法将两个List合并成一个Stream,然后使用distinct()方法去重,最后使用Collectors.toList()方法将结果收集到一个List中。
给出代码 java遍历一个List<String> 拼接逗号输出为一个长字符串输出
可以使用Java 8的流操作和Collectors.joining方法来实现:
```java
List<String> list = Arrays.asList("a", "b", "c", "d");
String result = list.stream().collect(Collectors.joining(","));
System.out.println(result);
```
输出结果为:
```
a,b,c,d
```
如果不使用Java 8,可以使用StringBuilder来拼接字符串:
```java
List<String> list = Arrays.asList("a", "b", "c", "d");
StringBuilder sb = new StringBuilder();
for (String str : list) {
sb.append(str).append(",");
}
if (sb.length() > 0) {
sb.setLength(sb.length() - 1); // 删除最后一个逗号
}
String result = sb.toString();
System.out.println(result);
```
输出结果同样为:
```
a,b,c,d
```