给定一个字符串数组,我想计算每个字符串中“1”字符的数量。
例如:
Input: ["00101010", "10010", "11111"]
Output: [3, 2, 5]
--
String []b = ["00101010", "10010", "11111"];
int [] c = Arrays.stream(b).mapToInt(r -> countChar(r, '1')).toArray();
int countChar(String string, char x) {
return (int)string.chars().filter(ch -> ch == x).count();
}
我如何在一个声明中写下这个。
我尝试用
countChar(r, '1')
和各种组合替换 (int)string.chars().filter(ch -> ch == x).count()
。错误日志太大了,我无法理解。
PS:java 8 流中的菜鸟
如果你所有的字符都是 0 和 1,那么这样的东西应该可以工作。去掉所有的 0,字符串的长度就是 1 的个数。
.stream()
.map(s -> s.replace("0", ""))
.map(String::length)