写在前面: 我是「扬帆向海」,这个昵称来源于我的名字以及女朋友的名字。我热爱技术、热爱开源、热爱编程。
技术是开源的、知识是共享的。
这博客是对自己学习的一点点总结及记录,如果您对 Java、算法 感兴趣,可以关注我的动态,我们一起学习。
用知识改变命运,让我们的家人过上更好的生活
。
一、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<Integer, String> 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<Integer, String> 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<Integer, String> 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<Integer, String> map = new HashMap<>();
map.put(101, "马化腾");
map.put(102, "刘强东");
map.put(103, "马云");
map.put(104, "张一鸣");
// Set keySet():返回所有key构成的Set集合
Set<Integer> set = map.keySet();
Iterator<Integer> it = set.iterator();
while (it.hasNext()) {
System.out.println(it.next());
}
System.out.println("*********************************");
// Collection values():返回所有value构成的Collection集合
Collection<String> 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<Integer, String> map = new HashMap<>();
map.put(101, "马化腾");
map.put(102, "刘强东");
map.put(103, "马云");
map.put(104, "张一鸣");
// 遍历集合方式一
// Set entrySet():返回所有key-value对构成的Set集合
Set<Map.Entry<Integer, String>> entries = map.entrySet();
Iterator<Map.Entry<Integer, String>> it = entries.iterator();
while (it.hasNext()) {
Map.Entry<Integer, String> next = it.next();
System.out.println(next);
}
// 遍历集合方式二
System.out.println("*********************************");
Set<Integer> keySet = map.keySet();
Iterator<Integer> 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=张一鸣