尝试研究Stream API。 所以,我有一个这样的字符串列表:
118.111.97.113
119.122.122.122
122.122.122.97
122.122.122.99
122.122.122.100
我需要将其除以'.
',并将单独的数字作为单独的值放入新集合中。
像这样:
118
111
97
113
119
...
我了解flatMap
方法,该方法可以假定一个值并返回多个值,但是如何正确使用它却一无所知。您能帮我还是提些想法?
谢谢!
答案 0 :(得分:5)
你可以做
List<String> initial;
List<String> all = initial.stream().flatMap(str -> Arrays.stream(str.split("\\.")))
.collect(Collectors.toList());
答案 1 :(得分:5)
仅此一行:
Pattern p = Pattern.compile("\\.");
yourStreamOfStrings.flatMap(p::splitAsStream)
.collect(Collectors.toList());