java 实现 从 object 列表中获取 goodsCode 并去重 该如何操作
时间: 2024-03-26 11:38:27 浏览: 102
Java中可以使用Stream API来实现从object列表中获取goodsCode并去重。假设object列表中的元素是Map类型,其中包含goodsCode字段,你可以按照以下方式操作:
```java
import java.util.*;
import java.util.stream.Collectors;
public class Main {
public static void main(String[] args) {
// 示例object列表
List<Map<String, String>> objectList = new ArrayList<>();
Map<String, String> map1 = new HashMap<>();
map1.put("goodsCode", "A001");
objectList.add(map1);
Map<String, String> map2 = new HashMap<>();
map2.put("goodsCode", "A002");
objectList.add(map2);
Map<String, String> map3 = new HashMap<>();
map3.put("goodsCode", "A003");
objectList.add(map3);
Map<String, String> map4 = new HashMap<>();
map4.put("goodsCode", "A001");
objectList.add(map4);
// 获取goodsCode并去重
List<String> goodsCodeList = objectList.stream()
.map(map -> map.get("goodsCode"))
.distinct()
.collect(Collectors.toList());
// 输出结果
System.out.println(goodsCodeList); // [A002, A003, A001]
}
}
```
在这个例子中,我们使用Java 8中的Stream API,首先将object列表转换为Stream流,然后使用map()方法将每个Map对象转换为其goodsCode字段,然后使用distinct()方法将结果去重,最后使用collect()方法将结果转换回List并输出。
阅读全文