I am getting `json` data as this:

```
[
  {
    "name": "A",
    "count": "2"
  },
  {
    "name": "B",
    "count": "1"
  },
  {
    "name": "A",
    "count": "3"
  },
  {
    "name": "C",
    "count": "10"
  },
  {
    "name": "B",
    "count": "2"
  }
]

```

So i iterate the data using a `for` loop, normal stuff. But i would like to end up with an `arraylist` like this:

C-->7

A-->5

B-->3

Notice that the the `list` is ordered from the highest to the lowest. 
What i have tried so far is:

```
//create my arraylists
    //has both name and count
     ArrayList<String>namesWithCountList = new ArrayList<>();
     //has only names 
     ArrayList<String>namesList = new ArrayList<>();

    //get json array..
    //iterate using for loop
     for (int i = 0; i < myJsonArray.length(); i++) {
      String nameStr = jsonObj.getString("name");
      int count = jsonObj.getInt("count");

      index = namesList.indexOf(name);//get index of the name

        if (index < 0) {
        // name doesnt exist in namesList, so we add it
       namesList.add(nameStr);
       namesWithCountList.add(nameStr+"-->"+count);
       }else{
        //name exists so we only add the count to existing list
       }

     }

```

I know i should use `Comparator.sort()` but i dont know how to get my `list` there because i have mixed both the name and count together like: `C-->7`

I have been stressing out on how the logic should look like, any help on this?