cpp map 获取所有 key_程序员:我们来聊聊 Map 接口的常用方法

一、map里面的添加、删除、修改方法

  • Object put(Object key,Object value) :将 指定 key value 添加到 或修改 当前 map 对象中
  • void putAll(Map m) : 将 m 中的所有 key value 对存放到当前 map 中
  • Object remove(Object key) key):移除指定 key 的 key value 对,并返回 value
  • void clear()clear():清空当前 map 中的所有数据

/**

* map 里面的添加、删除、清空操作

*/

public class HashMapTest1 {

public static void main(String[] args) {

// Object put(Object key,Object value):将指定key-value添加到(或修改)当前map对象中

Map map = new HashMap<>();

map.put(101, "马化腾");

map.put(102, "刘强东");

map.put(103, "马云");

map.put(104, "张一鸣");

System.out.println(map); // {101=马化腾, 102=刘强东, 103=马云, 104=张一鸣}

System.out.println("********************************************************");

// void putAll(Map m):将m中的所有key-value对存放到当前map中

Map map1 = new HashMap<>();

map1.put(105, "李彦宏");

map1.put(106, "任正非");

map.putAll(map1);

System.out.println(map); // {101=马化腾, 102=刘强东, 103=马云, 104=张一鸣, 105=李彦宏, 106=任正非}

System.out.println("********************************************************");

// Object remove(Object key):移除指定key的key-value对,并返回value

String value = map.remove(104);

System.out.println(value); // 张一鸣

System.out.println(map); // {101=马化腾, 102=刘强东, 103=马云, 105=李彦宏, 106=任正非}

System.out.println("********************************************************");

// void clear():清空当前map中的所有数据

map.clear();

System.out.println(map.size()); // 0

System.out.println(map); // {}

}

}

{101=马化腾, 102=刘强东, 103=马云, 104=张一鸣}

********************************************************

{101=马化腾, 102=刘强东, 103=马云, 104=张一鸣, 105=李彦宏, 106=任正非}

********************************************************

张一鸣

{101=马化腾, 102=刘强东, 103=马云, 105=李彦宏, 106=任正非}

********************************************************

0

{}

二、map里面的查询方法

  • Object get(Object key) :获取指定 key 对应的 value
  • boolean containsKey(Object key) :是否包含指定的 key
  • boolean containsValue(Object value) :是否包含指定的 value
  • int size():返回 map 中 key value 对的个数
  • boolean isEmpty():判断当前 map 是否为空

/**

* 元素查询的方法

*/

public class HashMapTest2 {

public static void main(String[] args) {

Map map = new HashMap<>();

map.put(101, "马化腾");

map.put(102, "刘强东");

map.put(103, "马云");

map.put(104, "张一鸣");

// Object get(Object key):获取指定key对应的value

System.out.println(map.get(102)); // 刘强东

// boolean containsKey(Object key):是否包含指定的key

boolean b = map.containsKey(103);

System.out.println(b); // true

// boolean containsValue(Object value):是否包含指定的value

boolean isExist = map.containsValue("任正非");

System.out.println(isExist); // false

// int size():返回map中key-value对的个数

System.out.println(map.size()); // 4

map.clear();

// boolean isEmpty():判断当前map是否为空

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

}

}

刘强东

true

false

4

true

三、遍历集合中的key 或 value

  • Set keySet():返回所有key构成的Set集合
  • Collection values():返回所有value构成的Collection集合

/**

* 遍历集合中的key、 value

*/

public class HashMapTest3 {

public static void main(String[] args) {

Map map = new HashMap<>();

map.put(101, "马化腾");

map.put(102, "刘强东");

map.put(103, "马云");

map.put(104, "张一鸣");

// Set keySet():返回所有key构成的Set集合

Set set = map.keySet();

Iterator it = set.iterator();

while (it.hasNext()) {

System.out.println(it.next());

}

System.out.println("*********************************");

// Collection values():返回所有value构成的Collection集合

Collection values = map.values();

for (String vaue : values) {

System.out.println(vaue);

}

}

}

101

102

103

104

*********************************

马化腾

刘强东

马云

张一鸣

四、遍历集合中的key和value

  • 方式一:利用 entrySet() 方法返回所有key-value对构成的Set集合
  • 方式二:先利用 keySet() 方法遍历所有的 key 集,然后根据遍历到的 key 得到相应的 value 值

/**

* 遍历集合

*/

public class HashMapTest4 {

public static void main(String[] args) {

Map map = new HashMap<>();

map.put(101, "马化腾");

map.put(102, "刘强东");

map.put(103, "马云");

map.put(104, "张一鸣");

// 遍历集合方式一

// Set entrySet():返回所有key-value对构成的Set集合

Set> entries = map.entrySet();

Iterator> it = entries.iterator();

while (it.hasNext()) {

Map.Entry next = it.next();

System.out.println(next);

}

// 遍历集合方式二

System.out.println("*********************************");

Set keySet = map.keySet();

Iterator iterator = keySet.iterator();

while (iterator.hasNext()) {

Integer key = iterator.next();

String value = map.get(key);

System.out.println(key + "=" + value);

}

}

}

101=马化腾

102=刘强东

103=马云

104=张一鸣

*********************************

101=马化腾

102=刘强东

103=马云

104=张一鸣


fd28bb995a8f31f4008891ee863b85d8.png

原文链接:https://blog.csdn.net/weixin_43570367/article/details/103074590

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值