List<Integer> songListIds = listSongs.stream().map(e -> e.getSongListId()).collect(Collectors.toList());如何在保留原语句操作的情况下对songListId去重
时间: 2024-01-21 09:18:24 浏览: 21
你可以使用Java 8 Stream的distinct()方法对List<Integer>进行去重操作,如下所示:
```
List<Integer> distinctSongListIds = songListIds.stream().distinct().collect(Collectors.toList());
```
这将返回一个去重后的List<Integer>,其中包含所有不同的songListIds元素。注意,distinct()方法仅适用于去重基本类型或实现equals()方法的对象类型。如果你想要去重自定义对象,你需要在该对象中实现equals()和hashCode()方法。
相关问题
List<Integer> songListIds = listSongs.stream().map(e -> e.getSongListId()).collect(Collectors.toList());如何对songListId去重
你可以使用Java 8的Stream API中提供的distinct()方法对songListIds进行去重操作,具体代码如下:
```
List<Integer> distinctSongListIds = songListIds.stream().distinct().collect(Collectors.toList());
```
这样就可以得到一个去重后的List<Integer>了。
List<Integer> idList = rankSet.stream() .map(item -> Integer.valueOf(item.getValue().toString())).collect(Collectors.toList());换一种写法
你可以使用方法引用来简化代码。下面是使用方法引用的写法:
```java
List<Integer> idList = rankSet.stream()
.map(item -> Integer.parseInt(item.getValue().toString()))
.collect(Collectors.toList());
```
在这种写法中,我们使用`Integer.parseInt()`方法来将字符串转换为整数。这里通过方法引用的方式直接引用了`Integer`类的`parseInt()`方法,省略了lambda表达式的写法。其余部分与之前的代码相同。