java 使用Hashmaps检查Anagrams

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 使用Hashmaps检查Anagrams相关的知识,希望对你有一定的参考价值。

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		System.out.println(areAnagram("hell","hekk"));
	}
	
	static boolean areAnagram(String str1, String str2) 
    { 
        HashMap<Character, Integer> hmap1 = new HashMap<Character, Integer>(); 
        HashMap<Character, Integer> hmap2 = new HashMap<Character, Integer>(); 
        char arr1[] = str1.toCharArray(); 
        char arr2[] = str2.toCharArray(); 
        // Mapping first string 
        for (int i = 0; i < arr1.length; i++) { 
            if (hmap1.get(arr1[i]) == null) { 
                hmap1.put(arr1[i], 1); 
            } 
            else { 
                Integer c = (int)hmap1.get(arr1[i]); 
                hmap1.put(arr1[i], ++c); 
            } 
        } 
        // Mapping second String 
        for (int j = 0; j < arr2.length; j++) { 
            if (hmap2.get(arr2[j]) == null) 
                hmap2.put(arr2[j], 1); 
            else { 
                Integer d = (int)hmap2.get(arr2[j]); 
                hmap2.put(arr2[j], ++d); 
            } 
        } 
        if (hmap1.equals(hmap2)) 
            return true; 
        else
            return false; 
    } 

以上是关于java 使用Hashmaps检查Anagrams的主要内容,如果未能解决你的问题,请参考以下文章

Java、HashMaps 和使用字符串作为键 - 字符串值是不是被存储两次?

使用ArrayLists和HashMaps在Java中进行紧凑拆分和新行操作

相互检查字符串(Anagrams)

如何在Java中访问嵌套的HashMaps?

比较两个 Anagrams 列表 - Java

java 49.集团Anagrams.java