簡體   English   中英

Java。 拆分列表每個元素的最佳方法

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM