已经学习过: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("https://files.jxasp.com/image/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());
}
}
}
也就是结果的输出,并不是按照输入的顺序进行打印:
这是,我们使用 LinkedHashMap 进行同样的存储操作:
可以看到这里 LinkedHashMap 的存储顺序默认是插入顺序
其实通过源码也可以发现:LinkedHashMap 继承了 HashMap,所以 HashMap 的方法,LinkedHashMap 也是都适用的。