java 有序的Map LinkedHashMap简介_野猿新一的博客-CSDN博客

无序的HashMap

我们知道HashMap是无需的,数据并不是按我们插入的顺序排序的,我们可以验证下

public class Test6 {    public static void main(String[] args) {        Map<String, String> hashMap = new HashMap<String, String>();        hashMap.put("name1", "value1");        hashMap.put("name2", "value2");        hashMap.put("name3", "value3");        Set<Entry<String, String>> set = hashMap.entrySet();        Iterator<Entry<String, String>> iterator = set.iterator();        while(iterator.hasNext()) {            Entry<String, String> entry = iterator.next();            String key = (String) entry.getKey();            String value = (String) entry.getValue();            System.out.println("key:" + key + ", value:" + value);        }    }}

 可以看到输出结果并不是按数据插入的顺序的

key:name3, value:value3key:name2, value:value2key:name1, value:value1

有序的LinkedHashMap

要想实现有序的Map,我们可以用LinkedHashMap,下面验证一下,把原来代码的HashMap替换成LinkedHashMap

public class Test6 {    public static void main(String[] args) {        Map<String, String> hashMap = new LinkedHashMap<String, String>();        hashMap.put("name1", "value1");        hashMap.put("name2", "value2");        hashMap.put("name3", "value3");        Set<Entry<String, String>> set = hashMap.entrySet();        Iterator<Entry<String, String>> iterator = set.iterator();        while(iterator.hasNext()) {            Entry<String, String> entry = iterator.next();            String key = (String) entry.getKey();            String value = (String) entry.getValue();            System.out.println("key:" + key + ", value:" + value);        }    }}

可以看到输出结果为我们插入的顺序 

key:name1, value:value1key:name2, value:value2key:name3, value:value3

原网址: 访问
创建于: 2023-07-12 12:04:26
目录: default
标签: 无

请先后发表评论
  • 最新评论
  • 总共0条评论