如何在java中计算数组中的重复字符串?

如何在java中计算数组中的重复字符串?,java,Java,我想对java中字符串数组中重复多次的字符串进行计数。一种方法是找到这样的字符串 String[] Array=new String[10]; String find; System.out.print("Enter Strings for Array: "); for(int i=0;i<Array.length;i++ ) { Array[i]=input.next(); } System.out.print("Enter String to find"); find=in

我想对java中字符串数组中重复多次的字符串进行计数。一种方法是找到这样的字符串

String[] Array=new String[10];
String find;
System.out.print("Enter Strings for Array: ");

for(int i=0;i<Array.length;i++ ) {
    Array[i]=input.next();
}

System.out.print("Enter String to find");
find=input.next();

for(int i=0;i<Array.length;i++) {
    if(find.equals(Array[i]) {
        System.out.print("Found!");
    else
        System.out.print("Not Found!");
    }
}
String[]数组=新字符串[10];
字符串查找;
System.out.print(“为数组输入字符串:”);

对于(int i=0;i第一期,您的代码不会编译。您可以为
if
语句打开一个块,但不要在
else
语句之前关闭它

根据您的帖子,似乎您需要数组中的字数。但是,您的代码表明您正在尝试查找数组中是否存在字符串。我猜是前者,然后继续。 代替O(n*n)方法,可以使用
Map
在O(n)中完成

String[] arr = {"ab","c","d","e","ab"};
Map<String, Integer> map = new HashMap<String, Integer>();

for(String word: arr) {
    // if word is not in the map
    if(!map.containsKey(word))
        map.put(word, 0);
    map.put(word, map.get(word) + 1);
}

for(String word: map.keySet()) 
    System.out.println(word + " occurs " + map.get(word) + " times");
String[]arr={“ab”,“c”,“d”,“e”,“ab”};
Map Map=newhashmap();
for(字符串字:arr){
//如果地图上没有单词
如果(!map.containsKey(word))
map.put(word,0);
map.put(单词,map.get(单词)+1);
}
for(字符串字:map.keySet())
System.out.println(word+“occurs”+map.get(word)+“times”);