Java Hashset<String> 用stream流,先过滤出包含某字符串"zhangsan:name"的,然后在进行计数,麻烦给出优秀的示例代码
时间: 2023-09-10 17:05:18 浏览: 144
### 回答1:
以下是一个用 Java 的 Stream API 实现对 HashSet<String> 进行过滤和计数的示例代码:
```
import java.util.HashSet;
import java.util.Set;
import java.util.stream.Collectors;
public class Main {
public static void main(String[] args) {
Set<String> set = new HashSet<>();
set.add("zhangsan:name");
set.add("lisi:age");
set.add("wangwu:address");
set.add("zhangsan:gender");
long count = set.stream()
.filter(s -> s.contains("zhangsan:name"))
.count();
System.out.println("包含 'zhangsan:name' 的元素数量为:" + count);
}
}
```
运行结果为:
```
包含 'zhangsan:name' 的元素数量为:1
```
### 回答2:
下面是一个示例代码,它演示了如何使用流对Java HashSet进行过滤和计数:
```java
import java.util.HashSet;
import java.util.stream.Collectors;
public class Main {
public static void main(String[] args) {
// 创建 HashSet 并添加元素
HashSet<String> set = new HashSet<>();
set.add("zhangsan:name");
set.add("lisi");
set.add("zhangsan:age");
set.add("wangwu:name");
set.add("zhaoliu");
// 使用流过滤出包含 "zhangsan:name" 的元素,并计数
long count = set.stream()
.filter(s -> s.contains("zhangsan:name"))
.count();
System.out.println("包含 \"zhangsan:name\" 的元素个数为:" + count);
}
}
```
运行以上代码,输出为:
```
包含 "zhangsan:name" 的元素个数为:1
```
解释代码逻辑:
1. 首先,我们创建一个HashSet并添加一些元素。
2. 然后,我们使用流对HashSet进行操作。
3. 使用 `filter` 方法来过滤出包含 "zhangsan:name" 的元素。`filter` 方法接受一个Lambda表达式,该表达式用于定义过滤条件。
4. 最后,我们使用 `count` 方法来计数过滤出的元素的个数。
在这个示例中,我们使用了Java的流编程特性,通过调用不同的方法来完成过滤和计数操作。
### 回答3:
下面是一个示例代码,使用Java的Hashset<String>和Stream流,首先过滤出包含某字符串"zhangsan:name"的元素,然后进行计数:
```java
import java.util.HashSet;
import java.util.Set;
public class Main {
public static void main(String[] args) {
// 创建HashSet并添加元素
Set<String> set = new HashSet<>();
set.add("zhangsan:name1");
set.add("lisi:name2");
set.add("zhangsan:name3");
set.add("wangwu:name4");
set.add("zhaoliu:name5");
// 使用Stream流进行过滤和计数
long count = set.stream()
.filter(s -> s.contains("zhangsan:name"))
.count();
// 输出计数结果
System.out.println("包含字符串\"zhangsan:name\"的元素个数为:" + count);
}
}
```
以上代码中,我们首先创建了一个HashSet,并且添加了5个元素。然后使用Stream流的`filter()`方法,通过lambda表达式对HashSet中的元素进行过滤,只保留包含字符串"zhangsan:name"的元素。最后通过`count()`方法统计过滤后的元素个数,并输出结果。
上述代码的输出结果为:
```
包含字符串"zhangsan:name"的元素个数为:2
```
注意:为了简化示例代码,这里使用的是匿名的lambda表达式。实际开发中,建议将lambda表达式提取为具名的方法,以增加代码的可读性和可维护性。
阅读全文