package com.wnz.test;
import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
public class Map1 {
public static void main(String[] args) {
//1.创建一个Map对象
Map map1 = new HashMap();
//2.存储格式是: key value 结构
//key不能重复 value(对象类型)没有限制
//添加数据用put
map1.put(1001,"aaa");
map1.put(1002,"bbb");
map1.put(1003,"ccc");
System.out.println(map1);
//获取某个key对应的值
Object o = map1.get(1001);
System.out.println(o);
//长度
int size = map1.size();
System.out.println(size);
//遍历数据
System.out.println("循环数据1");
///拿到所有的key
Set keys = map1.keySet();//key没有下标,不能重复
for (Object key : keys) {
Object o1 = map1.get(key);
System.out.println(o1);
}
System.out.println("循环数据2");
//这里指定key value的泛型
Map<String,String> map2 = new HashMap<>();
map2.put("1001","aaa");
map2.put("1002","bbb");
map2.put("1003","ccc");
//entrySet方法,把每一组key value 包装成Entry类型的对象,然后放到Set集合中
Set<Map.Entry<String, String>> entries = map2.entrySet();
//开始循环每一个对象
for (Map.Entry<String, String> entry : entries) {
String key = entry.getKey();
String value = entry.getValue();
System.out.println(key + ":" + value);
}
System.out.println("直接获取里边所有的值");
Collection values = map1.values();
System.out.println(values);
//创建map的时候,一般情况下,key的类型采用String
//value的类型:看业务
//一般用泛型指定
}
}
运行结果:
{1001=aaa, 1002=bbb, 1003=ccc}
aaa
3
循环数据1
aaa
bbb
ccc
循环数据2
1003:ccc
1002:bbb
1001:aaa
直接获取里边所有的值
[aaa, bbb, ccc]