我有这个问题,我需要一些东西来将area_code与电话号码匹配,最后我需要每个area_code中的phoneNumbers计数,我想我可以使用Map。你有什么想法?

Example

Given area_code: 351 phone_number:123456
Given area_code: 351 phone_number:1234567
Given area_code: 111 phone_number:678904

Output
351:2 (2 is the count on the numbers)
111:1 (1 is the count on the numbers)

最佳答案

您可以使用地图存储每个area_code的计数:

private HashMap<String, Integer> areaCodes = new HashMap<String, Integer>();

public void addAreaCode(String areaCode) {
    if (areaCodes.containsKey(areaCode)) {
        areaCodes.put(areaCode, areaCodes.get(areaCode) + 1);
    } else {
        areaCodes.put(areaCode, 1);
    }
}

public void foo() {
    addAreaCode("351");
    addAreaCode("351");
    addAreaCode("111");

    for (String areaCode : areaCodes.keySet()) {
        System.out.printf("%s:%d\n", areaCode, areaCodes.get(areaCode));
    }
}


我使用Strings来存储area_codes,以防万一以0开头。

关于java - 如何在具有对应关系的HashMap中获取计数?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48235951/

10-09 03:00