I have a list variable created like this:
List<Map<String, String>> list = new ArrayList<Map<String, String>>();
In my Android application, this list gets populated.
just an example:
Map<String, String> map1 = new HashMap<String, String>();
map.put("name", "Josh");
...
Map<String, String> map2 = new HashMap<String, String>();
map.put("name", "Anna");
...
Map<String, String> map3 = new HashMap<String, String>();
map.put("name", "Bernie");
...
list.add(map1);
list.add(map2);
list.add(map3);
I am using list to show results in a ListView by extending BaseAdapter and implementing the various methods.
My problem: I need to sort list in alphabetical order based on the map's key name
Question: What is a simple way to sort list in alphabetical order based on the map's key name?
I can't seem to wrap my head around this. I have extracted each name from each Map into a String array, and sorted it(Arrays.sort(strArray);). But that doesn't preserve the other data in each Map, so i'm not too sure how i can preserve the other mapped values
Mapis probably a bad choice for your records. A custom class with attributes / getters / setters would be better. Why? 1) robustness / type safety, 2) memory usage, 3) performance, 4) simpler code.order by. i have tried searching for answers before asking, and i couldn't find a sufficient answer to my problem. sorry to bother!