[英]Convert Delimited String in List<String> to List<String>
假設我們有一個List<String>
,其中一些值包含分隔符,
,我們如何將 split 和 merge 轉換為沒有分隔符,
的List<String>
?
輸入: [ "1,2", "3,4", "5" ]
輸出: [ "1", "2", "3", "4", "5" ]
命令式代碼
List<String> input = Arrays.asList("1,2", "3,4", "5");
List<String> output = new ArrayList<>();
for (String str : input) {
for (String split : str.split(",")) {
output.add(split);
}
}
你可以用Stream
來做到這一點:
List<String> output = input.stream()
.flatMap(s -> Arrays.stream(s.split(",")))
.collect(Collectors.toList());
例如,
List<String> input = Arrays.asList("1,2", "3,4", "5" );
List<String> output = input.stream()
.flatMap(s -> Arrays.stream(s.split(",")))
.collect(Collectors.toList());
System.out.println (output);
會輸出
[1, 2, 3, 4, 5]
你可以這樣做:
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class Main {
public static void main(String[] args) {
List<String> list = List.of("1,2", "3,4", "5");
List<String> newList = new ArrayList<String>();
list.forEach(s -> Arrays.stream(s.split(",")).forEach(newList::add));
System.out.println(newList);
}
}
輸出:
[1, 2, 3, 4, 5]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.