java實現查詢陣列中重複次數最多的字串
阿新 • • 發佈:2019-02-03
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;
}
}
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;
}
}