LinkedHashMap или Multimap - PullRequest
       6

LinkedHashMap или Multimap

0 голосов
/ 08 мая 2018
LinkedHashMap<String, List<Object>>  = ???

linkedHashMap.put("a", list1);
linkedHashMap.put("e, list2);
linkedHashMap.put("i", list3);
linkedHashMap.put("o", list4);
linkedHashMap.put("u", list5);
linkedHashMap.put("g", list6);
linkedHashMap.put("a", list7);

Я хочу получить точно такой же заказ, и у меня могут быть дубликаты ключей.

1 Ответ

0 голосов
/ 08 мая 2018

В вашем случае, если вы хотите сохранить точно такой же порядок для записей, вы можете использовать метод LinkedListMultimap records (): см. Также, как он отличается от метода get.

import java.util.Arrays;
import java.util.List;
import java.util.Map;

import com.google.common.collect.LinkedListMultimap;
import com.google.common.collect.Multimap;;

public class Main {

  public static void main(String[] args) {

    List<Object> list1 = Arrays.asList(1);
    List<Object> list2 = Arrays.asList(2);
    List<Object> list3 = Arrays.asList(3);
    List<Object> list4 = Arrays.asList(4);
    List<Object> list5 = Arrays.asList(5);
    List<Object> list6 = Arrays.asList(6);
    List<Object> list7 = Arrays.asList(7);

    Multimap<String, List<Object>> mmap = LinkedListMultimap.create();
    mmap.put("a", list1);
    mmap.put("e", list2);
    mmap.put("i", list3);
    mmap.put("o", list4);
    mmap.put("u", list5);
    mmap.put("g", list6);
    mmap.put("a", list7);


    for (Map.Entry<String, List<Object>> entry : mmap.entries()) {
      System.out.println(entry.getKey() + " " + entry.getValue());
    }

    System.out.println("Multimap key grouped  values");

    for (String key : mmap.keys()) {
      System.out.println(key+ " " + mmap.get(key));
    }

   }
}
...