在HashMap中添加新的键值对时,插入顺序在什么情况下会改变?

阿卡什(Aakash Thakur)

帮助我了解插入顺序在这里的工作方式。

HashMap<Integer, String> hashMap = new HashMap<>();
            hashMap.put(1, "Amrendra");
            hashMap.put(10, "Joe");
            hashMap.put(2, "Aakash");
            System.out.println(hashMap);
            
    LinkedHashMap<Integer, String> linkedHashMap = new LinkedHashMap<>();
            linkedHashMap.put(1, "Amrendra");
            linkedHashMap.put(10, "Joe");
            linkedHashMap.put(2, "Aakash");
            System.out.println(linkedHashMap);
rajan.kali

HashMap不会保持插入顺序,在使用时iterator您会观察到,同时LinkedHashMap在迭代时需要额外的内存来维持插入顺序。LinkedHashMap使用DoublyLinkedList保留顺序,您还可以选择使用LinkedHashMap构造函数之一保留访问顺序(或)插入顺序

访问顺序是最近最少使用的。另一方面,插入顺序类似于FIFO

更新

HashMap<Integer, String> hashMap = new HashMap<>();
hashMap.put(1, "Amrendra");
hashMap.put(10, "Joe");
hashMap.put(2, "Aakash");
hashMap.put(5, "Android");
System.out.println("HashMap: "+hashMap);

hashMap = new LinkedHashMap<>();
hashMap.put(1, "Amrendra");
hashMap.put(10, "Joe");
hashMap.put(2, "Aakash");
hashMap.put(5, "Android");
System.out.println("LinkedHashMap: " + hashMap);

上面的片段将产生以下输出 在此处输入图片说明

通过输出,您可以清楚地描述in中HashMapJoe已在之前插入Akash,但是在检索时,您获得了Akashbefore Joe,其中LinkedHashMap插入顺序保持原样。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在HashMap中添加新的键值对时,插入顺序在什么情况下会改变?

来自分类Dev

在什么情况下,我们会在javascript中创建新的内存引用?

来自分类Dev

在什么情况下Java中的JFrame是空白的

来自分类Dev

Kafka:如果保留每个分区的顺序,那么在什么情况下主题消息会乱序

来自分类Dev

在什么情况下焦点位置可以与插入符号位置不同?

来自分类Dev

为什么添加三通会改变输出顺序

来自分类Dev

在什么情况下Array.observe的“添加”事件会触发?

来自分类Dev

在什么情况下Angular中插值合法,为什么?

来自分类Dev

在什么情况下,插值法在Angular中是合法的,为什么?

来自分类Dev

Eclipse中的MarkSelection是什么,它将在什么情况下使用?

来自分类Dev

在某些情况下遍历键值对时可以避免在(t)-sql中进行while循环

来自分类Dev

在JavaScript中,什么情况下= == b,但是使用a或b可以得出不同的结果?

来自分类Dev

在Apple Swift中,在什么情况下我不希望隐式展开可选内容?

来自分类Dev

在什么情况下可以省略C中的花括号?

来自分类Dev

什么情况下使用Java中的执行人无界队列?

来自分类Dev

在什么情况下忽略useReducer中的传播运算符会导致错误?

来自分类Dev

在pytorch中,损失函数需要在什么情况下继承nn.module?

来自分类Dev

在什么情况下可以使用rundll32来调用DLL中的函数?

来自分类Dev

在什么情况下,您可以在AngularJS中定义HTTP拦截器?

来自分类Dev

在什么情况下您输入的命令会从历史记录中丢失?

来自分类Dev

在什么情况下必须在python中定义或初始化变量

来自分类Dev

在什么情况下需要指向 C 中的指针的指针?

来自分类Dev

在什么情况下PDO:execute()会返回false?

来自分类Dev

.NET程序在什么情况下会终止?

来自分类Dev

在什么情况下可以删除帐户?

来自分类Dev

在什么情况下ConcurrentDictionary.TryRemove()返回false?

来自分类Dev

在什么情况下数组不会变成指针?

来自分类Dev

DynamoDB在什么情况下允许重复的主键?

来自分类Dev

在什么情况下,异步方法应支持取消

Related 相关文章

  1. 1

    在HashMap中添加新的键值对时,插入顺序在什么情况下会改变?

  2. 2

    在什么情况下,我们会在javascript中创建新的内存引用?

  3. 3

    在什么情况下Java中的JFrame是空白的

  4. 4

    Kafka:如果保留每个分区的顺序,那么在什么情况下主题消息会乱序

  5. 5

    在什么情况下焦点位置可以与插入符号位置不同?

  6. 6

    为什么添加三通会改变输出顺序

  7. 7

    在什么情况下Array.observe的“添加”事件会触发?

  8. 8

    在什么情况下Angular中插值合法,为什么?

  9. 9

    在什么情况下,插值法在Angular中是合法的,为什么?

  10. 10

    Eclipse中的MarkSelection是什么,它将在什么情况下使用?

  11. 11

    在某些情况下遍历键值对时可以避免在(t)-sql中进行while循环

  12. 12

    在JavaScript中,什么情况下= == b,但是使用a或b可以得出不同的结果?

  13. 13

    在Apple Swift中,在什么情况下我不希望隐式展开可选内容?

  14. 14

    在什么情况下可以省略C中的花括号?

  15. 15

    什么情况下使用Java中的执行人无界队列?

  16. 16

    在什么情况下忽略useReducer中的传播运算符会导致错误?

  17. 17

    在pytorch中,损失函数需要在什么情况下继承nn.module?

  18. 18

    在什么情况下可以使用rundll32来调用DLL中的函数?

  19. 19

    在什么情况下,您可以在AngularJS中定义HTTP拦截器?

  20. 20

    在什么情况下您输入的命令会从历史记录中丢失?

  21. 21

    在什么情况下必须在python中定义或初始化变量

  22. 22

    在什么情况下需要指向 C 中的指针的指针?

  23. 23

    在什么情况下PDO:execute()会返回false?

  24. 24

    .NET程序在什么情况下会终止?

  25. 25

    在什么情况下可以删除帐户?

  26. 26

    在什么情况下ConcurrentDictionary.TryRemove()返回false?

  27. 27

    在什么情况下数组不会变成指针?

  28. 28

    DynamoDB在什么情况下允许重复的主键?

  29. 29

    在什么情况下,异步方法应支持取消

热门标签

归档