java - 如何让我的方法返回 Collection<Character>

标签 java hashmap return-value

应该调用我的方法

Public Collection<Character> mostCommonFirstWeighted()

但我解决问题的方法是让它返回

List<Map.Entry<Character, Integer>>

如何解决此问题,以便我的返回语句改为字符集合?

    public List<Map.Entry<Character, Integer>> mostCommonFirstWeighted() {
        HashMap<Character, Integer> hashmap = new HashMap<Character, Integer>();
        for (String s : lst) {
            if (hashmap.get(s.charAt(0)) == null) {
                hashmap.put(s.charAt(0), 1);
            } else {
                hashmap.put(s.charAt(0), hashmap.get(s.charAt(0)).intValue() + 1);
            }
        }
        Integer largestVal = null;
        List<Map.Entry<Character, Integer>> largestList = new ArrayList<Map.Entry<Character, Integer>>();
        for (Map.Entry<Character, Integer> i : hashmap.entrySet()) {
            if (largestVal == null || largestVal < i.getValue()) {
                largestVal = i.getValue();
                largestList.clear();
                largestList.add(i);
            } else if (largestVal == i.getValue()) {
                largestList.add(i);
            }
        }
        return largestList;
    }

}

示例输入:[and、and、and、and、these、 those、their、boxes、boxes]

预期结果:[a]

我得到的结果:[a=4]

最佳答案

改变

    List<Map.Entry<Character, Integer>> largestList = new ArrayList<Map.Entry<Character, Integer>>();

    List<Character> largestList = new ArrayList<Character>();

largestList.add(i);(两者)到largestList.add(i.getKey());

关于java - 如何让我的方法返回 Collection<Character>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28825180/

相关文章:

java - ArrayList.contains() 对比 HashMap.containsKey() 对比 HashMap.get()

c++ - 在 C++ 中返回一个 std::vector

java - JAXB 编码器缩进

java - 从 Java 调用 Catalog 过程执行 SSIS 包

java - 在 Stream reduce 方法中,恒等式必须始终为 0 求和和 1 乘法?

java - 检查HashMap中的键是否存在于句子中

java - 使用 Java Streams 获取嵌套在 HashMap 中的元素最多的集合

java - 碧 Jade 报告 : Grouping Report Elements

ruby - RSpec stub : Return the parameter

c++ - 如何返回 CArray?