已经学习过:Java 中的 Map 接口
了解了 HashMap 是无序存放,但是有些情况下我们想要有顺序的存储 key-value ,这时就用到了 LinkedHashMap
已经知道了 HashMap 是无序存储:
public class Test {
public static void main(String[] args) {
Map<String, String> map = new HashMap<String, String>();
map.put("3", "yolo_3");
map.put("2", "yolo_2");
map.put("1", "yolo_1");
Set<Map.Entry<String, String>> set = map.entrySet();
Iterator<Map.Entry<String, String>> iterator = set.iterator();
while (iterator.hasNext()) {
Map.Entry<String, String> next = iterator.next();
System.out.println(next.getKey() + " --> " + next.getValue());
}
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
也就是结果的输出,并不是按照输入的顺序进行打印:
这是,我们使用 LinkedHashMap 进行同样的存储操作:
可以看到这里 LinkedHashMap 的存储顺序默认是插入顺序
其实通过源码也可以发现:LinkedHashMap 继承了 HashMap,所以 HashMap 的方法,LinkedHashMap 也是都适用的。
————————————————
版权声明:本文为CSDN博主「南淮北安」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/nanhuaibeian/article/details/108564358