LinkedHashMap或Multimap

时间:2018-05-08 00:36:37

标签: java multimap linkedhashmap

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 :(得分:0)

在您的情况下,如果您要为条目保留完全相同的顺序,则可以使用LinkedListMultimap entries()方法:,另请参阅它与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));
    }

   }
}