为什么在MultiMap中不保留插入顺序?

SOU*_*URY 10 java multimap

public class MultiMap_Test {
    public static void main(String[] args) {
        Multimap<String, String> myMultimap = ArrayListMultimap.create();

          myMultimap.put("classlabel", "tid");
          myMultimap.put("Y", "1");
          myMultimap.put("Y", "2");
          myMultimap.put("N", "4"); 

          // Iterating over entire MutliMap
          for(String value : myMultimap.values()) {           
              System.out.print(value);
          }
    }
}
Run Code Online (Sandbox Code Playgroud)

上面的代码打印出来1 2 tid 4.

我不明白为什么不打印tid 1 2 4.

Pau*_* Lo 22

LinkedListMultimap如果要保留插入顺序,请改用:

Multimap<String, String> myMultimap = LinkedListMultimap.create();
Run Code Online (Sandbox Code Playgroud)