Rom*_*kyi 3 java java-8 java-stream
尝试研究Stream API.所以,我有一个像这样的字符串列表:
118.111.97.113
119.122.122.122
122.122.122.97
122.122.122.99
122.122.122.100
Run Code Online (Sandbox Code Playgroud)
我需要将它拆分为' .',并将单独的数字作为单独的值放入新集合中.像这样:
118
111
97
113
119
...
Run Code Online (Sandbox Code Playgroud)
我知道flatMap方法,可以假设一个值并返回几个,但如何正确使用它,没有一个想法.你能帮助我或提出一些想法吗?
谢谢!
你可能会这样做
List<String> initial;
List<String> all = initial.stream().flatMap(str -> Arrays.stream(str.split("\\.")))
.collect(Collectors.toList());
Run Code Online (Sandbox Code Playgroud)
单独的东西:
Pattern p = Pattern.compile("\\.");
yourStreamOfStrings.flatMap(p::splitAsStream)
.collect(Collectors.toList());
Run Code Online (Sandbox Code Playgroud)