How to count duplicate values in the list object i

2019-10-05 14:36发布

问题:

This question already has an answer here:

  • Java count occurrence of each item in an array 16 answers

in java, i have an array like this:

String[] city = {"texas", "ny", "sydney", "ny", "paris", "texas", "ny"};

i want to sort/group them with count...like-

texas = 2
ny = 3
sydney = 1
paris = 1

回答1:

Use Collections.frequency() method.

import java.util.Arrays;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class Test{
    public static void main(String[] args) {
        String[] city = {"texas", "ny", "sydney", "ny", "paris", "texas", "ny"};
        List<String> asList = Arrays.asList(city);
        Map<String, Integer> map= new HashMap<String, Integer>();
        for(String s: city){
            map.put(s,Collections.frequency(asList,s));
        }
        System.out.println(map);

    }
}