如何在java中计算数组中的重复字符串?
我想对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
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”);