'Unlikely argument type int for get(Object) on a Map<Character,Integer>Java(1200)

longest= Math.max(longest,map.get(i)); [Error is being shown]

I understand Math.max and Longest is int AND map.get is Integer. I tried intValue() but its not working;

import java.util.HashMap;

public class longestSubstring {
    public static void main(String[] args){
        String str = "abcabcbb";
        HashMap<Character,Integer> map = new HashMap<>();
        
        for(int i=0;i<str.length();i++){
            char c = str.charAt(i);
            if(map.containsKey(c)){
                map.put(c,map.get(c)+1);
            }else{
                map.put(c,1);
            }

        }
        int longest = 0;
        for(int i: map.keySet()){
            longest= Math.max(longest,map.get(i)); // error here


        }

        System.out.println(longest);

    }
    
}

Please help



Solution 1:[1]

import java.util.HashMap;

public class longestSubstring {
    public static void main(String[] args){
        String str = "abcabcbb";
        HashMap<Character,Integer> map = new HashMap<>();
        
        for(int i=0;i<str.length();i++){
            char c = str.charAt(i);
            if(map.containsKey(c)){
                map.put(c,map.get(c)+1);
            }else{
                map.put(c,1);
            }

        }
        int longest = 0;
        for(Character c: map.keySet()){

            longest= Math.max(longest,map.get(c));


        }

        System.out.println(longest);

    }
    
}

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Shrayus