赞
踩
Map体系集合,是一种区别于Collection体系的集合。该体系下的任何数据,存储都是由键值对
组成。
如果未了解过Collection体系的集合,请移步:java之集合–Collection父接口及其方法。
特点:
键
和值
两部分组成。键
不能重复,值可以重复。自动装箱
,无论键还是值。由于Map是接口,无法直接创建对象,所以只能通过向上转型的方式来创建对象,以其实现类HashMap
为例:
Map map = new HashMap();//通过向上转型的方式创建对象
Map接口定义的方法,其实现者和继承者都会继承,且作用一致。
作用:在集合中添加键值对key:value,如有相同键的话会覆盖。
代码演示:
Map map = new HashMap();
map.put(1,"张三");//存储键值对1和"张三"
map.put(2,"李四");
map.put(3,"王五");
System.out.println(map);
map.put(2,"赵六");//2为已经存储的键,会将值覆盖。
System.out.println(map);
运行结果:
{1=张三, 2=李四, 3=王五}
{1=张三, 2=赵六, 3=王五}
作用:将集合map中的所有元素添加到本集合中,键重复的元素将覆盖。
代码演示:
Map map1 = new HashMap(); Map map2 = new HashMap(); map1.put(1,"张三"); map1.put(2,"李四"); map1.put(3,"王五"); map1.put(4,"赵六"); System.out.println("map1中的元素:"); System.out.println(map1); map2.put(1,"手机"); map2.put(5,"电脑"); map2.put(6,"平板"); map2.put(3,"微信"); System.out.println("map2中的元素:"); System.out.println(map2); System.out.println("在map1中添加map2所有元素后:"); map1.putAll(map2); System.out.println(map1);
运行结果:
map1中的元素:
{1=张三, 2=李四, 3=王五, 4=赵六}
map2中的元素:
{1=手机, 3=微信, 5=电脑, 6=平板}
在map1中添加map2所有元素后:
{1=手机, 2=李四, 3=微信, 4=赵六, 5=电脑, 6=平板}
作用:删除集合中键key所对应的键值对;如果key不存在,返回null。
返回值类型:Object
代码演示:
Map map = new HashMap();
map.put(1,"苹果");
map.put(2,"香蕉");
map.put(3,"菠萝");
map.put(4,"菠萝");//键不可以重复,值可以重复
System.out.println(map);
System.out.println("删除的元素:");
System.out.println(map.remove(3));//删除键3所对应的键值对
System.out.println("删除后:");
System.out.println(map);
System.out.println("不存在的键:");
System.out.println(map.remove(5));
运行结果:
{1=苹果, 2=香蕉, 3=菠萝, 4=菠萝}
删除的元素:
菠萝
删除后:
{1=苹果, 2=香蕉, 4=菠萝}
不存在的键:
null
作用:清空集合中的元素
返回值类型:void(无)
代码演示:
Map map = new HashMap();
map.put(1,"张三");
map.put(2,"李四");
map.put(3,"王五");
System.out.println(map);
map.clear();
System.out.println(map);
运行结果:
{1=张三, 2=李四, 3=王五}
{}
作用:判断集合是否为空,如果是,返回true,否则返回false
返回值类型:boolean
Map map = new HashMap();
map.put(1,"张三");
System.out.println("map空不空?");
System.out.println(map.isEmpty());
map.clear();//清空map中的元素
System.out.println("map空不空?");
System.out.println(map.isEmpty());
运行结果:
map空不空?
false
map空不空?
true
作用:获取集合中所包含的所有键,并将其作为Set类型返回。
返回值类型:Set
代码演示:
Map map = new HashMap();
map.put(1,"张三");
map.put(2,"李四");
map.put(3,"王五");
map.put(4,"赵六");
System.out.println(map.keySet());//返回键的Set集合
Set set = map.keySet();//可以使用Set引用创建对象
System.out.println(set);
运行结果:
[1, 2, 3, 4]
[1, 2, 3, 4]
作用:通过键key,返回集合中对应键的值;如果键值不存在,返回null
返回值类型:Object
代码演示:
Map map = new HashMap();
map.put(1,"哈密瓜");
map.put(2,"西瓜");
System.out.println(map.get(1));
System.out.println(map.get(2));
System.out.println(map.get(3));
运行结果:
哈密瓜
西瓜
null
作用:获取集合中所包含的所有值,并将其作为Collection类型返回。
返回值类型:Collection
代码演示:
Map map = new HashMap();
map.put(1,"苹果");
map.put(2,"张三");
map.put(3,"手机");
map.put(4,"卫星");
System.out.println(map.values());//返回Collection类型数据
Collection collection = map.values();//可以使用Collection引用创建对象
System.out.println(collection);
运行结果:
[苹果, 张三, 手机, 卫星]
[苹果, 张三, 手机, 卫星]
作用:判断键key在集合中是否存在,是返回true,否则返回false。
返回值类型:boolean
代码演示:
Map map = new HashMap();
map.put(1,"手机");
map.put(2,"电脑");
map.put(3,"平板");
System.out.println(map.containsKey(2));
System.out.println(map.containsKey(4));
运行结果:
true
false
作用:判断值value在集合中是否存在,是返回true,否则返回false。
返回值类型:boolean
代码演示:
Map map = new HashMap();
map.put(1,"张三");
map.put(2,"李四");
map.put(3,"王五");
System.out.println(map.containsValue("李四"));
System.out.println(map.containsValue("赵六"));
运行结果:
true
false
作用:获取集合中所包含的所有键值对,并将其作为Set的实现类Map.Entry返回。
返回值类型:Map.Entry
代码演示:
Map map = new HashMap();
map.put(1,"张三");
map.put(2,"手机");
map.put(3,"哈密瓜");
map.put(4,"时代周刊");
map.put(5,"金箍棒");
System.out.println(map.entrySet());//返回Map.Entry类型数据
Set set = map.entrySet();//可以使用Set引用创建对象
System.out.println(set);
运行结果:
[1=张三, 2=手机, 3=哈密瓜, 4=时代周刊, 5=金箍棒]
[1=张三, 2=手机, 3=哈密瓜, 4=时代周刊, 5=金箍棒]
本文章介绍了Map体系集合中,Map接口和该体系的常用方法,下一次会讲解Map的各个实现类。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。