如何通过Stream获取List<String>中空字符串的数量
时间: 2023-06-06 12:04:39 浏览: 47
可以使用Java 8的Stream API中的filter和count方法来获取List<String>中空字符串的数量。代码如下:
```
List<String> list = Arrays.asList("hello", "", "world", "");
long count = list.stream().filter(str -> str.isEmpty()).count();
System.out.println("空字符串数量:" + count);
```
输出结果为:
```
空字符串数量:2
```
相关问题
list<String>转字符串
以下是三种将List<String>转化为字符串的方法:
1. 传统循环并拼接的方式:
```java
List<String> list = Arrays.asList("张三", "李四", "王五", "赵六");
StringBuilder builder = new StringBuilder();for (int i = 0; i < list.size(); i++) {
builder.append(list.get(i));
builder.append(",");
}
String substring = builder.substring(0, builder.length() - 1);
System.out.println("转化后的字符串 : " + substring);
```
2. 使用Java8的String.join()方法:
```java
List<String> list = Arrays.asList("张三", "李四", "王五", "赵六");
String str = String.join(",", list);
System.out.println("转化后的字符串 : " + str);
```
3. 使用Java8的Collectors.joining()方法:
```java
List<String> list = Arrays.asList("张三", "李四", "王五", "赵六");
String str = list.stream().collect(Collectors.joining(","));
System.out.println("转化后的字符串 : " + str);```
List<String> 转字符串
将一个 `List<String>` 转换为一个字符串,可以使用Java 8提供的 `String.join()` 方法,该方法接受一个分隔符和一个字符串列表,并将它们连接成一个字符串。
以下是示例代码:
```java
List<String> list = Arrays.asList("apple", "banana", "orange");
String str = String.join(",", list);
System.out.println(str); // 输出:apple,banana,orange
```
在上面的示例中,我们使用逗号作为分隔符,将 `list` 中的字符串连接成一个字符串。
如果要将 `List<String>` 中的元素连接成一个带有前缀和后缀的字符串,可以使用 `Collectors.joining()` 方法,如下所示:
```java
List<String> list = Arrays.asList("apple", "banana", "orange");
String str = list.stream().collect(Collectors.joining(",", "[", "]"));
System.out.println(str); // 输出:[apple,banana,orange]
```
在上面的示例中,我们使用逗号作为分隔符,使用方括号作为前缀和后缀,将 `list` 中的字符串连接成一个字符串。这里使用了Java 8提供的 `Stream` API 中的 `Collectors.joining()` 方法。