Map集合使用

Map集合的基本使用

Map<K,V>集合:存储key-value键值映射关系。

               K表示key对象

               V表示value对象

 

Map集合的基本方法:

添加元素:put(K  key, V value)

          在使用put存储一对元素(key-value)对象时,会先拿key去判断Map集合中是否已经存在。

          如果Map集合中没有相同的key存在:就把key-value存储到Map集合中,并返回null

          如果Map集合中有相同的key存在:会把之前存储的value对象覆盖。并返回之前的value对象(value对象)

删除元素:remove(Object  key)

          根据指定的key元素对象去Map集合中元素相应的key-value一对元素。

          如果Map集合中有相同的key元素存在:则删除一对key-value对象

          如果Map集合中没有指定的key元素存在:没有删除操作,返回null

 

修改元素:使用put方法

 

获取元素:get(Object  key)

          根据指定的key元素对象,去 Map集合获取相应的value对象

          如果Map集合中没有指定的key元素存在,则返回null

其它:

      boolean containsKey(Object key) 判断Map集合中是否包含指定的key元素存在

      boolean containsValue(Object value) 判断Map集合中是否包含指定的value元素存在

      size() 获取Map集合中存储的key-value对应关系的个数



 * Map集合的功能概述:
 * 1:添加功能
 * V put(K key,V value):添加元素。这个其实还有另一个功能?先不告诉你,等会讲
 * 如果键是第一次存储,就直接存储元素,返回null
 * 如果键不是第一次存在,就用值把以前的值替换掉,返回以前的值
 * 2:删除功能
 * void clear():移除所有的键值对元素
 * V remove(Object key):根据键删除键值对元素,并把值返回
 * 3:判断功能
 * boolean containsKey(Object key):判断集合是否包含指定的键
 * boolean containsValue(Object value):判断集合是否包含指定的值
 * boolean isEmpty():判断集合是否为空
 * 4:获取功能
 * Set<Map.Entry<K,V>> entrySet():???
 * V get(Object key):根据键获取值
 * Set<K> keySet():获取集合中所有键的集合
 * Collection<V> values():获取集合中所有值的集合
 * 5:长度功能
 * int size():返回集合中的键值对的对数
 */
public class MapDemo {
public static void main(String[] args) {
// 创建集合对象
Map<String, String> map = new HashMap<String, String>();


// 添加元素
// V put(K key,V value):添加元素。这个其实还有另一个功能?先不告诉你,等会讲
// System.out.println("put:" + map.put("文章", "马伊俐"));
// System.out.println("put:" + map.put("文章", "姚笛"));


map.put("邓超", "孙俪");
map.put("黄晓明", "杨颖");
map.put("周杰伦", "蔡依林");
map.put("刘恺威", "杨幂");


// void clear():移除所有的键值对元素
// map.clear();


// V remove(Object key):根据键删除键值对元素,并把值返回
// System.out.println("remove:" + map.remove("黄晓明"));
// System.out.println("remove:" + map.remove("黄晓波"));


// boolean containsKey(Object key):判断集合是否包含指定的键
// System.out.println("containsKey:" + map.containsKey("黄晓明"));
// System.out.println("containsKey:" + map.containsKey("黄晓波"));


// boolean isEmpty():判断集合是否为空
// System.out.println("isEmpty:"+map.isEmpty());

//int size():返回集合中的键值对的对数
System.out.println("size:"+map.size());


// 输出集合名称
System.out.println("map:" + map);
}
}

Map集合方法介绍

 Map集合:keySet()方法

之前讲Mpa集合时,Map集合是用来存储一对key-value两个对象,既然存储的是两个对象,那么能不能只获取其中一个所有对象?

可以。Map集合属于双列集合,里面有两个单列集合。

 

问题:Map中的key对象,Map应该使用哪个集合存储?

     key必须保证唯一性(不能重复),使用Set集合存储。

 

Map中的keySet方法:获取Map集合中所有的key对象

Map集合:entrySet()方法

Map集合中存储的是一对key-value的映射关系(对应关系 、键值关系)

映射关系:key-value对应关系。

映射关系在底层代码上怎么体现:Map.Entry来存储key-value映射关系

 

Map集合的entrySet方法:获取Map集合中所有的key-value映射关系

映射关系类型:Map.Entry

map集合:values()方法

之前使用keySet方法可以获取 Map集合中的的所有key对象,而values方法就是获取Map集合中的的所有value对象

 

Map集合的values对象:获取集合中所有的value

Map集合常用子类

Map集合:

|----Hashtable类:底层使用哈希表结构。存储的key-value不能为null(不能使用null作为key或value的值)。 现被HashMap代替。

      |-----Properties类:用来存储key-valur的键值属性集。(IO流中讲解)

可以通过IO流来操作该属性集中的key或value

    |----HashMap类:底层使用哈希表结构。存取元素无序、可以存储null(key对象只能有一个null)

        |----LinkedHashMap类:底层使用链表+哈希表结构。存取元素有序

    |----TreeMap类:底层使用二叉树结构。存储的元素会自动排序。

两种排序:自然排序、比较器排序



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值