A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

1.Collection集合与Map集合的区别

a.collectio中的集合,元素是孤立存在的,向集合中存储元采用的是一个个元素存储的方式
b.Map中的元素,元素是成对存在的,每个元素由键与值两部分组成,通过键可以找到所对应的值
c.Collection中的集合称为单列集合,Map中的集合称为双列集合。
d.Map中的键不能重复,但是Map中值可以重复。每个键只能对应一个值。
往Map集合中添加元素时,判断集合中是否有相同键的键值对,如果有,会将新的键值对覆盖掉原来的键值对。

2.Map中常用功能

2.1:添加功能:

V put(K key, V value)
将键与对应的值添加进集合里

2.2获取功能:

V get(Object key)
根据键获取对应对的值
int size()
返回Map中键值对的个数
package day_15;

import java.util.HashMap;
import java.util.Map;

public class Mao {
    public static void main(String[] args) {
        Map<String, String> map =new HashMap<String, String>();
        map.put("zhang", "5");
        map.put("cai", "6");
        map.put("cai", "7");
        map.put("zhang","8");
        System.out.println(map.get("cai"));
        System.out.println(map.get("zhang"));
        System.out.println(map.size());
    }
}


结果:
7
8
2

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
2.3 判断功能:

boolean containsKey(Object key)
判断Map集合中是否包含键为key的键值对
boolean containsValue(Object value)
判断Map集合中是否包含值为value键值对
boolean isEmpty()
判断Map集合是否为空

package day_15;

import java.util.HashMap;
import java.util.Map;

public class Mao {
    public static void main(String[] args) {
        Map<String, String> map = new HashMap<String, String>();
        map.put("zhang", "5");
        map.put("cai", "7");
        if (map.containsKey("cai"))
            System.out.println(map.get("cai"));
        if (map.containsValue("5"))
            System.out.println("Yes");
        if (map.isEmpty()) {
            System.out.println("Map为空");
        } else System.out.println("Map不为空");
    }
}

结果:7
Yes
Map不为空
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
2.4 删除功能:

void clear()
清空Map集合中所有的键值对
V remove(Object key)
根据键值删除Map中键值对

2.5 遍历功能:

Set<Map.Entry<K,V>> entrySet()
将每个键值对封装到一个个Entry对象中,再把所有Entry的对象封装到Set集合中返回

package day_15;

import java.util.HashMap;
import java.util.Map;
import java.util.Set;

public class Mao {
    public static void main(String[] args) {
        Map<String, String> map = new HashMap<String, String>();
        map.put("zhang", "5");
        map.put("cai", "7");
        map.put("kai", "4");
        map.put("dan", "8");
        Set<Map.Entry<String, String>> entries = map.entrySet();
        for(Map.Entry<String, String> entry:entries){
            String key = entry.getKey();
            String value = entry.getValue();
            System.out.println(key+" "+value);
        }
    }
}

结果:
dan 8
kai 4
cai 7
zhang 5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
在这里插入代码片
1
Set keySet()
将Map中所有的键装到Set集合中返回

package day_15;

import java.util.HashMap;
import java.util.Map;
import java.util.Set;

public class Mao {
    public static void main(String[] args) {
        Map<String, String> map = new HashMap<String, String>();
        map.put("zhang", "5");
        map.put("cai", "7");
        map.put("kai", "4");
        map.put("dan", "8");
       Set<String> set = map.keySet();
       for(String str:set){
           System.out.println(map.get(str));
       }
    }
}

结果:
8
4
7
5
---------------------
【转载,仅作分享,侵删】
作者:初心魏
原文:https://blog.csdn.net/qq_42306803/article/details/86320649


1 个回复

倒序浏览
奈斯
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马