1. 程式人生 > >java實現查詢陣列中重複次數最多的字串

java實現查詢陣列中重複次數最多的字串

import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;


public class Test1 {


    public static void main(String[] args){
    String[] arr1={"HAHHA","AJFOIAJ","HAHAHA","HAHHA","HAHHA","HAHHA","asfda","bbbvg"};
    String[] maxString=findMaxString(arr1);
    System.out.println(Arrays.toString(maxString));
    }

public static String[]  findMaxString(String[] arr){

Map<Integer,String> map=new HashMap<Integer,String>();
for(int i=0;i<arr.length-1;i++){
int count=0;
String temp=null;
for(int j=i+1;j<arr.length;j++){

if(arr[i].equals(arr[j])){

count++;
temp=arr[i];
}

 
}
//從第一個字元開始比較,每次比較完成後,將相同字元的數目和字元儲存在map中
map.put(count+1, temp);


}

int[] countArr= new int[map.size()];
for(int c:map.keySet()){

for(int i=0;i<map.size();i++){
//將map集合的鍵儲存在陣列中
countArr[i]=c;
}
}

    Arrays.sort(countArr);
    int MAXCOUNT=countArr[countArr.length-1];
   String maxvalue= map.get(MAXCOUNT);
    String[] maxString=new String[MAXCOUNT];
   for(int i=0;i<MAXCOUNT;i++){
   maxString[i]=maxvalue;
   }
return maxString;
}


}