stream tomap value自增长
时间: 2023-11-16 09:46:28 浏览: 143
java8 stream 操作map根据key或者value排序的实现
在Java中,可以使用Stream的collect方法结合Collectors.toMap来实现value自增长的功能。具体步骤如下:
1. 首先,确保你有一个Stream对象,例如:
```java
Stream<String> stream = Stream.of("A", "B", "C");
```
2. 然后,使用collect方法和Collectors.toMap来生成一个Map对象,同时定义value的自增长规则。这里我们可以使用AtomicInteger类来实现自增长,代码如下:
```java
Map<String, Integer> resultMap = stream.collect(Collectors.toMap(Function.identity(), s -> {
AtomicInteger counter = new AtomicInteger(0);
return counter.getAndIncrement();
}));
```
在上述代码中,Function.identity()表示key不变,s -> {...}表示value的生成规则。在这个示例中,我们使用AtomicInteger类来实现value的自增长。
3. 最后,你可以通过遍历Map来查看结果:
```java
resultMap.forEach((key, value) -> System.out.println(key + " -> " + value));
```
这样就完成了value的自增长操作。
阅读全文