[英]Java. Best way to split each element of List
如何使用流優化它?
List<String> prepared = new ArrayList<>();
availableFieldsFromImage.forEach(field -> {
if(field.contains(".")){
prepared.add(field.split("\\.")[0]);
} else {
prepared.add(field);
}
});
如果沒有找到分隔符,則split
返回初始字符串,因此無需測試“。” 在執行拆分之前:
List<String> prepared = availableFieldsFromImage.stream()
.map(field -> field.split("\\.")[0])
.collect(Collectors.toList());
你可以做:
List<String> prepared = availableFieldsFromImage.stream()
.map(field -> field.contains(".") ? field.split("\\.")[0] : field)
.collect(Collectors.toList());
也許
List<String> prepared=availableFieldsFromImage.stream()
.map(i->i.contains(".") ? i.split("\\.")[0] : i)
.collect(Collectors.toList())
使用map
然后collect
availableFieldsFromImage.stream().map(field -> field.contains(".")
? field.split("\\.")[0]
: field)
.collect(Collectors.toList());
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.