我有一个这样的名单:如何用列表中的“字符串”来统计列表中的行数?
["hi","hello","one"]
["hi","hello1","two"]
["hi1","hello3","three"]
有没有更有效的方法来计算,在它的字符串“喜”的行数,这样的结果是除了循环?像listCount()
这样的命令?
我有一个这样的名单:如何用列表中的“字符串”来统计列表中的行数?
["hi","hello","one"]
["hi","hello1","two"]
["hi1","hello3","three"]
有没有更有效的方法来计算,在它的字符串“喜”的行数,这样的结果是除了循环?像listCount()
这样的命令?
您可以使用Java 8个流:
long count = strings.stream()
.flatMap(List::stream)
.filter(Predicate.isEqual("hi"))
.count();
...假设你有一个strings
变量是这样的:
List<List<String>> strings = asList(asList("hi", "hello", "one"),
asList("hi", "hello1", "two"),
asList("hi1", "hello3", "three"));
如果改为嵌套阵列,你仍然可以使用流,但是你必须调整上面的代码。
如果列表很大,你也许可以通过启动strings.parallelStream()
代替strings.stream()
流,这将确保您的可用芯用于并行处理使其更快。
不管你用什么方法,它内部都有循环。 – Maroun
流java 8可以做到 – Jerry06
你们可以给我一个示例代码? – jaybee