package map;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
/**
* 1.map是无序的,无下标的,键值对存储。键不可以重复,值可以重复
* @author CCQ
*/
public class mapTest {
public static void main(String[] args) {
Map<Integer,String> map =new HashMap<>();
System.out.println("--------------添加元素-----------------");
map.put(1,"棋棋");
map.put(2,"瑶瑶");
map.put(3,"杨杨");
map.put(4,"影儿");
System.out.println("map集合的元素个数:"+map.size());
System.out.println(map);
System.out.println("--------------删除元素-----------------");
map.remove(3);
map.remove(1,"棋棋");
System.out.println("map集合的元素个数:"+map.size());
System.out.println(map);
System.out.println("--------------遍历元素-----------------");
System.out.println("--------------增强for-----------------");
//keySet()方法返回的是一个set集合。里面包含的是map集合的键。
//get()方法是通过键来获取值。
for (Integer a:map.keySet()) {
System.out.println(a+"-----"+map.get(a));
}
System.out.println("--------------使用entrySet()方法遍历-----------------");
//此方法返回值为一个set集合,注意集合的泛型是Map.Entry<>类型。
//Map.Entry<>类型的变量有getKey()和getValue()方法。分别获取键和值。
//一个entry就是一个键值对
Set<Map.Entry<Integer, String>> entries = map.entrySet();
for (Map.Entry<Integer,String> a:entries) {
System.out.println(a.getKey()+"-----"+a.getValue());
}
System.out.println("--------------判断-----------------");
System.out.println(map.containsKey(1));//是否包含这个key
System.out.println(map.containsValue("瑶瑶"));//是否包含这个values
System.out.println(map.isEmpty());//集合是否为空
System.out.println("--------------小补充-----------------");
//keySet()方法获得map集合的键。
//values()方法获得map集合的值。
System.out.println(map.keySet());
System.out.println(map.values());
}
}
输出结果:
--------------添加元素-----------------
map集合的元素个数:4
{1=棋棋, 2=瑶瑶, 3=杨杨, 4=影儿}
--------------删除元素-----------------
map集合的元素个数:2
{2=瑶瑶, 4=影儿}
--------------遍历元素-----------------
--------------增强for-----------------
2-----瑶瑶
4-----影儿
--------------使用entrySet()方法遍历-----------------
2-----瑶瑶
4-----影儿
--------------判断-----------------
false
true
false
--------------小补充-----------------
[2, 4]
[瑶瑶, 影儿]