我有一個這樣的名單:如何用列表中的「字符串」來統計列表中的行數?
["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