-3

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
AmitG
  • 10,365
  • 5
  • 31
  • 52
Sammy Sam
  • 7
  • 1
  • 1

1 Answers1

10

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);

    }
}
AmitG
  • 10,365
  • 5
  • 31
  • 52