Как сравнить String of HashMap и расположить их? - PullRequest
0 голосов
/ 23 марта 2012

Предположим, у меня есть имя Mink,Mark,Aashis.Как сравнить их и расположить в алфавитном порядке.Collections.sort() не работает для меня.Здесь я должен иметь результаты Aashis,Mark and Mark.

ArrayList<HashMap<String, String>> mylist = new ArrayList<HashMap<String, String>>();
HashMap<String, String> map = new HashMap<String, String>();
map.put("name", XMLfunctions.getValue(e, "name"));
                mylist.add(map);

                 Collections.sort( mylist, new Comparator<HashMap<String,String>>(){                    

                    public int compare(HashMap<String, String> lhs,
                            HashMap<String, String> rhs) {
                            //how do i compare string name
                        return 0;

                    }
                 });

Ответы [ 2 ]

2 голосов
/ 23 марта 2012

попробуйте этот код

вставить значения

public ArrayList<HashMap<String, String>> list;
list = new ArrayList<HashMap<String, String>>();

for (int i = 0; i < 5; i++) {

            HashMap<String, String> info = new HashMap<String, String>();

            info.put("title", "gdfgdfgdfgdfggdfgfdgdgdgdffghfghfgh");
            info.put("time", "44:55");
            info.put("view", "54,353");

            list.add(info);

        }

получить и сравнить

String title1 = ketan;



for (int i = 0; i < list.size(); i++) {

HashMap<String, String> map = new HashMap<String, String>();
        map = list.get(i);

        if(map.get("title")==title1);
                 {
                    ........
                    ......
                 }      
    }
2 голосов
/ 23 марта 2012
Collections.sort(list, new Comparator(){

public int compare(HashMap<String, String> o1, HashMap<String, String> o2) {
        return (o1.get("name")).compareToIgnoreCase(o2.get("name"));
    }

Здесь «имя» - это ключ, который вы указали во время вставки в HashMap методом put.

ДОПОЛНИТЕЛЬНО

Если вы хотите проанализировать двойные значения, вы можете использовать метод Double.parse ().

return Double.compare (o1.get (value1), o1.get (value2));

ПРИМЕЧАНИЕ. - Хорошая особенность этого подхода заключается в том, что вы затем сортируете любой объект по любому атрибуту или даже по комбинации атрибутов.Например, если у вас есть объекты типа Person с атрибутом доход и dataOfBirth, вы можете определить различные реализации Comparator и отсортировать объекты в соответствии с вашими потребностями.

Надеюсь, это поможет вам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...