Есть два способа получить ключ и значение карты:
map.keySet(): сначала получить ключ карты, а затем получить соответствующее значение в соответствии с ключом
map.entrySet(): запросить ключ и значение карты одновременно, нужно сделать запрос только один раз;
1. Далее следует получить ключ и значение карты, а элементы на карте сравниваются и сортируются по ключу или значению [
Когда значение карты равно, сортировка по значению ключа]
открытый класс MapSort { public static void main(String[] args) { Map<String,String> map = new HashMap<String,String>(); map.put("bb","43"); map.put( "aer","534"); //Через метод map.keySet() //Способ 1: Получить значение ключа, а затем получить значение; /*Строковый ключ: map.keySet(); Строковое значение = map.get (key); System.out.println(key+" "+value); */ //Используем итератор для получения ключа; /*Iterator<String> iter = map.keySet().iterator(); while (iter. hasNext()){ String key=iter.next(); String value = map.get(key); System.out.println(key+" "+value); */ //Через карту. Метод entrySet()//метод 1: пройтись по каждой паре ключ-значение на карте, а затем получить ключ и значение
/*for(Entry<String, String> vo : map.entrySet()){ vo.getKey(); vo.получить значение(); System.out.println(vo.getKey()+" "+vo.getValue()); }*/ /*//key Iterator<Entry<String,String>> iter = map.entrySet().iterator(); while(iter.hasNext()){ Entry<String,String> entry = iter.next(); Строковый ключ = entry.getKey(); Строковое значение = entry.getValue(); System.out.println(ключ+" "+значение); }*/ //将map<String,String> 转化为ArryList,但list里面的元素为Entry<String,String> List<Entry<String,String>> list = new ArrayList<Map.Entry<String,String> >(карта.
Collections.sort(list,new Comparator<Entry<String,String>>(){ @Override public int compare(Entry<String, String> o1, Entry<String, String> o2) { int flag = o1.getValue() .compareTo(o2.getValue()); if(flag==0){ return o1.getKey().compareTo(o2.getKey()); } return flag; } }); //Проходим по списку, чтобы получить сортировка на карте Следующий элемент for(Entry<String, String> en : list){ System.out.println(en.getKey()+" "+en.getValue()); } } } 2. Обратите внимание , что элементы в Карте уникальны Неупорядоченные, если вы хотите получить данные в соответствии с порядком хранения, рекомендуется использовать linkedhashmap, данные, хранящиеся в нем, уникальны и упорядочены.