刚刚学java ,用集合怎么做

sfjakfjkaskfjskfjjksafdopsjiffdnjflkadkllscfdamkfaslfcaslOIE
fvckooafhnausjHFCIOVFIG

用HashMap,a,b,c,d为key,出现的次数为value,依次取出字符串中的字母,然后让相应字母对应的value值加1

    System.out.println("请输入:");
    Scanner scan = new Scanner(System.in);
    String str = scan.nextLine();
    char[] arr = str.toCharArray();
    Map<Character, Integer> map = new HashMap<Character, Integer>();
    for (int i = 0; i < arr.length; i++) {
        if (!map.containsKey(arr[i])) {
            map.put(arr[i], 1);
        }else{
            int count = map.get(arr[i]) + 1;
            map.put(arr[i], count);
        }
    }
    System.out.println(map);

莫吐槽我的代码,我是新手

 import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;


public class Test3 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Map<String, Integer> answer=new HashMap<String, Integer>();
        answer.put("a", 0);
        answer.put("b", 0);
        answer.put("c", 0);
        answer.put("d", 0);
        Scanner sc=new Scanner(System.in);
        String answ=sc.next();
        for(int i=0;i<answ.length();i++){
            char c = answ.charAt(i);
            if('a'==c){
                answer.put("a", answer.get("a")+1);
            }else if('b'==c){
                answer.put("b", answer.get("b")+1);
            }else if('c'==c){
                answer.put("c", answer.get("c")+1);
            }else if('d'==c){
                answer.put("d", answer.get("d")+1);
            }
        }
        System.out.println(answer);
    }

}