list根据goodsId去重
时间: 2023-06-21 14:18:50 浏览: 146
假设你有一个`List<Goods>`类型的列表,其中`Goods`类有一个名为`goodsId`的属性,你可以使用Java 8中的Stream API和Lambda表达式来根据`goodsId`去重。例如:
```java
List<Goods> goodsList = ... // 假设这是你的商品列表
List<Goods> distinctGoodsList = goodsList.stream()
.collect(Collectors.collectingAndThen(
Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(Goods::getGoodsId))),
ArrayList::new));
```
这里我们使用了`Collectors.toCollection()`方法来创建一个`TreeSet`集合,以去重并按`goodsId`进行排序。之后我们使用`Collectors.collectingAndThen()`方法将`TreeSet`集合转换为`ArrayList`类型的列表。这样就能够得到一个根据`goodsId`去重的商品列表了。
相关问题
mybatis 根据List<String> 获取一个包含goodsId 的集合
可以使用 MyBatis 的动态 SQL,通过 foreach 标签遍历 List<String>,然后拼接成一个 SQL IN 语句。具体实现如下:
1. 在 Mapper 中定义方法:
```java
List<Integer> getGoodsIdsByList(List<String> goodsList);
```
2. 在 Mapper.xml 中实现方法:
```xml
<select id="getGoodsIdsByList" resultType="java.lang.Integer">
SELECT goods_id
FROM goods
WHERE goods_id IN
<foreach item="item" collection="list" open="(" separator="," close=")">
#{item}
</foreach>
</select>
```
其中,list 指代传入的 List<String>,item 指代遍历到的字符串元素,open、separator、close 分别指定 sql 语句的拼接方式。
这样,就可以根据 List<String> 获取一个包含 goodsId 的集合了。
goodsID 是什么有什么作用
goodsID 是商品的唯一标识符,通常由系统自动生成或者手动指定。它的作用是用来区分和识别不同的商品,确保每个商品都有一个独一无二的标识。通过goodsID,可以方便地在系统中进行商品的查询、管理和操作。例如,当用户下订单或者进行商品搜索时,可以使用goodsID来快速找到对应的商品信息。同时,goodsID也可以用于订单管理、库存管理、销售统计等业务流程中,方便对商品进行跟踪和管理。
阅读全文