我有一个数组String
:
String[] myArray = {"A", "B", "B", "C"};
Run Code Online (Sandbox Code Playgroud)
有没有快速计算该数组中字符串出现次数的方法?是的,我知道我可以迭代并自己做计数:
int count = 0;
String whatToFind = "B";
for (String s : myArray) {
if (s.equals(whatToFind)) {
++count;
}
}
Run Code Online (Sandbox Code Playgroud)
但我想知道是否有一个实用功能.我找不到任何东西Arrays
或ArrayUtils
.是否可以使用单线程进行此操作?
ass*_*ias 74
您可以使用以下frequency
方法:
List<String> list = Arrays.asList(myArray);
int count = Collections.frequency(list, "B");
Run Code Online (Sandbox Code Playgroud)
或者在一行中:
int count = Collections.frequency(Arrays.asList(myArray), "B");
Run Code Online (Sandbox Code Playgroud)
使用Java 8,您还可以编写:
long count = Arrays.stream(myArray).filter(s -> "B".equals(s)).count();
Run Code Online (Sandbox Code Playgroud)
或者使用方法参考:
long count = Arrays.stream(myArray).filter("B"::equals).count();
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3367 次 |
最近记录: |