Значение и сортировка карты в java

Есть два способа получить ключ и значение карты:

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, данные, хранящиеся в нем, уникальны и упорядочены.
















Guess you like

Origin blog.csdn.net/xiansibao/article/details/125910901