Java中Map接口常用的方法

发布时间:2024年01月23日

java.util.Map接口中常用的方法:

??? 1.Map和Collection没有继承关系

??? 2.Map集合以key和value的方式存储数据:键值对

??????? key和value都是引用数据类型

??????? key和value都是存储对象的内存地址

??????? key起到主导的地位,value是key的一个附属品

??? 3.Map接口中常用的方法:

????? V put(K key,V value)???????????????????????????????? 向Map集合中添加键值对

????? V get(Object key)???????????????????????????????????? 通过key获取value

????? void clear()?????????????????????????????????????????????? 清空Map集合

????? boolean containsKey(Object key)??????????? 判断Map集合中是否包含某个key

????? boolean containsValue(Object value)????? 判断Map集合中是否包含某个value

????? boolean isEmpty()??????????????????????????????????? 判断Map集合中元素个数是否为0

????? Set<k> keySet()?????????????????????????????????????? 获取Map集合所有的key(所有的键是一个set集合)

????? V remove(Object key)????????????????????????????? 通过key删除键值对

????? int size()?????????????????????????????????????????????????? 获取Map集合中键值对的个数

????? Collection<V> values()??????????????????????????? 获取Map集合中所有的value,返回一个Collection

????? Set<Map.Entry<k,v>> entrySet()??????????? 将Map集合转换成Set集合

????? 假设现在有一个Map集合,如下所示:

??????? map1集合对象

??????? key????????????????? value

?——————————————————————

????? 1????????????????????? zhangsan

????? 2????????????????????? lisi

????? 3????????????????????? wangwu

????? 4????????????????????? zhaoliu? --> 这个东西是什么?Map.Entry

?? Set set = map1.entrySet();

?? set集合对象

?? 1=zhangsan 【注意:Map集合通过entrySet()方法转换成的这个Set集合,Set集合中元素的类型是Map.Entry<k,v>】

?? 2=lisi 【Map.Entry和String一样,都是一种类型的名字,只不过:Map.Entry是静态内部类,是Map中的静态内部类】

?? 3=wangwu

?? 4=zhaoliu

public class MapTest01{

?? public static void main(String[] args){

???? //创建Map集合对象

??? Map<Integer,String> map = new HashMap<>();

??? //向Map集合中添加键值对

?? map.put(1,"zhangsan");? //1在这里进行了自动装箱

?? map.put(2,"lisi");

?? map.put(3,"wangwu");

?? map.put(4,"zhaoliu");

?? //通过key获取value

? String value = map.get(2);

? System.out.println(value);

? //获取键值对的数量

? System.out.println("键值对的数量:"+map.size());

?//通过key删除key-value

? map.remove(2);

? System.out.println("键值对的数量:"+map.size());

? //判断是否包含某个key

?//contains方法底层调用的都是equals进行比对的,所以自定义的类型需要重写equals方法

? System.out.println(map.containsKey(4));?? //true

?//判断是否包含某个value

? System.out.println(map.containsValue("wangwu"));? //true

? //获取所有的value

? Collection<String> values = map.values();

? for(String s:value){

??? System.out.println(s);

? }

?//清空map集合

?map.clear();

?System.out.prinltn("键值对的数量:"+map.size());

?//判断是否为空

?System.out.println(map.isEmpty());? //true

? }

?}

文章来源:https://blog.csdn.net/m0_74249744/article/details/135792197
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。