統計int配列における重複数の個数
1702 ワード
本白さんはjavaに触れたばかりで、筆記試験の復習をしているうちに、配列の繰り返し数の個数をどのように統計するかをまとめました.
方法1、HashMapを使います.この方法は簡単明瞭で,操作と理解が容易である.
方法2は、1つの配列で重複する個数を格納し、配列の下には統計が必要な数字が表示されます.
メソッド3を追加し、Collections.frequency()で実装
方法1、HashMapを使います.この方法は簡単明瞭で,操作と理解が容易である.
private static void countSameNumber1(int[] number){
HashMap hm = new HashMap();
for(int i =0;i < number.length;i++){
if(!hm.containsKey(number[i])){
hm.put(number[i],1);
}
else{
hm.put(number[i],(hm.get(number[i]))+1);
}
}
for(Map.Entry entry:hm.entrySet()){
System.out.println(entry.getKey() + " " + entry.getValue() + " ");
}
}
方法2は、1つの配列で重複する個数を格納し、配列の下には統計が必要な数字が表示されます.
private static void countSameNumber2(int[] number){
Arrays.sort(number);
// 1 2 3 4 1 2 , 5 , 0-4.
int[] numbers = new int[number[number.length -1] + 1];
for(int i =0;i< numbers.length;i++){
numbers[i] = 0;
}
//i ,numbers[i]
for(int i =0; i
メソッド3を追加し、Collections.frequency()で実装
private static void countSameNumber3(int[] number){
ArrayList al = new ArrayList();
ArrayList all = new ArrayList();
for(int i =0;i