我有一个类别列表,其中包含许多属性,如代码,名称,描述,超类别,产品列表等。现在我想迭代它并检索每个类别的代码和存储将其添加到列表中串。这就是我用老派的方式做的事情。我想知道是否可以使用Java 8 Streams以更好,更清晰和有效的方式完成此任务。
List<Category> categories = categoryService.getCategoriesForProductCode(productCode);
List<String> categoryCodes = new ArrayList<>();
if(CollectionUtils.isNotEmpty(categories)){
for(Category cat : categories){
categoryCodes.add(cat.getCode);
}
}
答案 0 :(得分:3)
你可以这样做
categoryCodes = categories.stream()
.map(category->catgory.getCode()) // .map(Category::getCode)
.collect(Collectors.toList());