Java Hashset<Object> 用stream流,先过滤出包含某字符串"zhangsan:name"的,然后在进行计数,麻烦给出优秀的示例代码
时间: 2023-09-03 17:25:49 浏览: 136
### 回答1:
下面是一个优秀的示例代码:
```
import java.util.HashSet;
import java.util.stream.Collectors;
public class Main {
public static void main(String[] args) {
HashSet<Object> set = new HashSet<>();
set.add("zhangsan:name");
set.add("lisi:age");
set.add("wangwu:address");
set.add("zhangsan:name");
long count = set.stream()
.filter(x -> x.toString().contains("zhangsan:name"))
.collect(Collectors.counting());
System.out.println("包含字符串zhangsan:name的元素数量为:" + count);
}
}
```
输出结果为:
```
包含字符串zhangsan:name的元素数量为:1
```
### 回答2:
下面是一个使用Java的HashSet和Stream流的示例代码:
```java
import java.util.HashSet;
import java.util.stream.*;
public static void main(String[] args) {
HashSet<Object> set = new HashSet<>();
set.add("zhangsan:name");
set.add("lisi:age");
set.add("zhangsan:address");
set.add("wangwu:name");
long count = set.stream()
.filter(obj -> obj.toString().contains("zhangsan:name"))
.count();
System.out.println(count);
}
```
以上代码首先创建了一个HashSet集合对象,并添加了一些字符串。然后通过使用stream()方法将集合转换为一个流对象。接着使用filter()方法来过滤出包含字符串"zhangsan:name"的元素。最后使用count()方法来计数满足条件的元素个数。
上述代码运行结果会输出为1,表示HashSet集合中包含1个元素满足条件"zhangsan:name"。
希望这个示例对你有帮助!
### 回答3:
Sure! 下面是一个使用Java流和过滤的示例代码:
```java
import java.util.HashSet;
public class Main {
public static void main(String[] args) {
// 创建一个Hashset并添加元素
HashSet<Object> set = new HashSet<>();
set.add("zhangsan:name");
set.add("lisi:age");
set.add("zhangsan:gender");
set.add("wangwu:name");
// 使用流过滤和计数包含指定字符串的元素
long count = set.stream()
.filter(object -> object.toString().contains("zhangsan:name"))
.count();
// 输出结果
System.out.println("包含字符串'zhangsan:name'的元素个数为:" + count);
}
}
```
以上代码创建了一个HashSet,并向其中添加了4个元素。然后使用流的filter方法,通过lambda表达式进行过滤,只保留包含字符串"zhangsan:name"的元素。最后使用count方法计算包含指定字符串的元素个数。输出结果为"包含字符串'zhangsan:name'的元素个数为:1"。
阅读全文