Java中的Map集合详解

一、概述

 java中的map集合使用键(key)值(value)来保存数据,其中值(value)可以重复,但键(key)必须是唯一,也可以为空,但最多只能有一个key为空,它的主要实现类有HashMap、LinkedHashMap、TreeMap。

二、Map集合方法概要

Java中的Map集合详解_第1张图片

三、HashMap、LinkedHashMap、TreeMap区别及用法

1、HashMap

特点:保存元素时先进后出、无序性;查询效率比较高;key-value可以为null,但最多只能为一个null;不支持线程同步,即可以有多个线程同时写HashMap,可能导致数据不一致,如果需要同步可以使用Collection的synchronizedMap方法使其同步。

示例:

Map map=new HashMap();
//使用put添加元素
map.put("name","张三");
map.put("sex","男");
map.put("age","12");
map.put("addres","深圳");
map.put("iPhone","13068706819");
//存放两个key-value为空的元素,打印时出现一个
map.put(null, null);
map.put(null, null);

//打印出来元素是先进后出排序
System.out.println("HashMap存放元素规则是先进后出:"+map);

 
  效果: 
  

2、LinkedHashMap

特点:LinkedHashMap内部是双向链表结构,保存了元素插入的顺序,Iterator遍历元素时按照插入的顺序排列,支持线程同步。

代码:

//实例化LinkedHashMap对象,保存数据类型为String
Map map1=new LinkedHashMap();
//使用put添加元素
map1.put("name","张三");
map1.put("sex","男");
map1.put("age","12");
map1.put("addres","深圳");
map1.put("iPhone","13068706819");
map1.put(null, null);
打印元素排列方式:

System.out.println("元素按照插入的顺序排列:"+map1);
{name=张三, sex=男, age=12, addres=深圳, iPhone=13068706819, null=null}

3、TreeMap

特点:保存元素key-value不能为null,允许key-value重复;遍历元素时随机排列。

代码:

Map map2 = new TreeMap();
map2.put("name", "张三");
map2.put("sex", "男");
map2.put("age", "12");
map2.put("addres", "深圳");
map2.put("iPhone", "13068706819");
map2.put("iPhone", "13068706819");
打印:

System.out.println("元素随机排列"+map2);
{addres=深圳, age=12, iPhone=13068706819, name=张三, sex=男}











你可能感兴趣的:(Javase)