Java 爪哇。矩阵中的每个符号出现多少次?
有一个二维数组10x10,填充随机英文字母(大写和小写)如何计数,数组中每个符号出现多少次?您似乎是stackoverflow的新手,但请注意下次在寻求帮助之前,您应该始终显示您已尝试过的内容 请检查此解决方案。它将帮助您计算频率Java 爪哇。矩阵中的每个符号出现多少次?,java,arrays,multidimensional-array,Java,Arrays,Multidimensional Array,有一个二维数组10x10,填充随机英文字母(大写和小写)如何计数,数组中每个符号出现多少次?您似乎是stackoverflow的新手,但请注意下次在寻求帮助之前,您应该始终显示您已尝试过的内容 请检查此解决方案。它将帮助您计算频率 HashMap<Integer,Integer> hm = new HashMap<>(); for(int i =0;i<10;i++){ for(int j=0;j<10;j++){
HashMap<Integer,Integer> hm = new HashMap<>();
for(int i =0;i<10;i++){
for(int j=0;j<10;j++){
if(hm.containsKey(arr[i][j])){
int freq = hm.get(arr[i][j]);
hm.put(arr[i][j],++freq);
} else {
hm.put(arr[i][j],1);
}
}
}
HashMap hm=newhashmap();
对于(int i=0;i使用Java 8流:
import java.util.Map;
import java.util.function.Function;
import java.util.stream.Collectors;
import java.util.stream.Stream;
public class CountCharacter {
public static void main(String[] args) throws Exception {
Character[][] array = new Character[][] {
{'A','B','C','D','E','F','G','H','I','J'},
{'A','B','C','D','E','F','G','H','I','J'},
{'A','B','C','D','E','F','G','H','I','J'},
{'A','B','C','D','E','F','G','H','I','J'},
{'A','B','C','D','E','F','G','H','I','J'},
{'A','B','C','D','E','F','G','H','I','J'},
{'A','B','C','D','E','F','G','H','I','J'},
{'A','B','C','D','E','F','G','H','I','J'},
{'A','B','C','D','E','F','G','H','I','J'},
{'A','B','C','D','E','F','G','H','I','a'},
};
Map<Character, Long> data =Stream.of(array)
.flatMap(Stream::of)
.collect(Collectors.groupingBy(Function.identity(), Collectors.counting()));
System.out.println(data);
}
}
您可以将HashMap的使用映射到samePlease、share以及您迄今为止所做的事情。基本思想是,不管数组有多少个维度,您只需要迭代每个项目并计数it@Tatjana我提到了同样的答案。请让我知道,如果你需要帮助了解这一点
HashMap<Character,Integer> hashMap =new HashMap<>();
for (Character[] oneD: array) {
for (Character elem: oneD) {
hashMap.put(elem, hashMap.getOrDefault(elem, 0)+1);
}
}
System.out.println(hashMap);