java实现查找数组中重复次数最多的字符串

这个Java程序展示了如何查找数组中出现频率最高的字符串。通过遍历数组,使用HashMap存储每个字符串及其出现的次数。然后,找到次数最多的字符串并返回。在示例中,数组`arr1`包含多个重复的`HAHHA`字符串,程序将其找出并返回。
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;
}


}
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值