There follows a string String str = "AAAABBBBCCCDDDEFF"; ① Please count the number of times each letter appears, ② print out the letter that the highest number of

public static void main(String[] args) {
	String str = "AAAABBBBCCCDDDEFF";
	Map<String, Integer> m = new ConcurrentHashMap<String, Integer>();
	int count = 0;
	for (int i = 0; i < str.length(); i++) {
		String key = str.substring(i, i + 1);
		if (m.containsKey(key)) {
			count++;
			m.put(key, count);
		} else {
			count = 1;
			m.put(key, count);
		}
	}
	for (Map.Entry<String, Integer> a : m.entrySet()) {
		System.out.println(a.getKey() + "-----" + a.getValue());
	}
	// int max=0;
	// for(Map.Entry<String,Integer> a: m.entrySet()){
	// if(a.getValue()> max+3){
	// max=a.getValue();
	// if(max==a.getValue()){
	//
	// }
	// for( int i=0;i<max;i++){
	// System.out.print(a.getKey());
	// }
	// }
	// }
	Collection<Integer> values = m.values();
	System.out.println(Collections.max(values));
	for (Map.Entry<String, Integer> a : m.entrySet()) {
		if (Collections.max(values) == a.getValue()) {
			for (int i = 0; i < a.getValue(); i++) {
				System.out.print(a.getKey());
			}

		}
	}
Published 14 original articles · won praise 1 · views 250

Guess you like

Origin blog.csdn.net/weixin_45061669/article/details/104783692