Map接口知识点

Map知识点

1、Map接口:HashMap集合、LinkedHashMap集合

2、Map:双列集合,Collection:单列集合

3、HashMap<K,V> : 要保证键的唯一、不重复,需要重写键的HashCode()方法、equals()方法。

4、LinkedHashMap<K,V>存储顺序一致

5、Map:键key值value,不能包含重复的键,值可以重复,每个键只可以对应一个值。

6、put(K,V)存,返回V
get(K)取,返回V,通过键对象获取值对象
remove(K),返回V

public static void function(){
Map<String,Integer> map=new HashMap<String,Integer>();
map.put("a",1);//put<K,V>
map.put("b",2);
//Integer i=map.put("b",3);//存重复键,返回覆盖之前的值 2
map.put("c",3);
map.put("c",5);//存重复键将原有的值覆盖
System.out.println(map);//{b=2,c=5,a=1}
}

7.Map集合的遍历
get(K)取,返回V,通过键对象获取值对象

用迭代器遍历

public static void function_1(){
Set<String> set=map.keySet();//调用map集合方法keySet,所有键存储到Set集合中
Iterator<String> it=set.iterator();//遍历Set集合,获取Set集合中的所有元素,获取map中的键
while(it.hasNext()){
String key=it.next();//it.next()返回Set集合元素,获取map中的键
Integer value=map.get(key);//调用map集合方法get,通过键获取值
System.out.println(key+"...."+value);
}
}

//或者用增强for遍历


for(String key:map.keySet()){
Integer value =map.get(key);
System.out.println(key+"...."+value);
}

//entrySet方法,键值对映射关系获取

扫描二维码关注公众号,回复: 9145685 查看本文章
Set<Map.Entry<Integer,String>> set=map.entrySet();//外部类.内部类=new,调用map集合方法entrySet(),将集合中的映射关系对象存储到Set集合
Iterator<Map.Entry<Integer,String>> it=set.iterator();//迭代Set集合
while(it.hasNext()){//获取出的Set集合的元素,是映射关系对象
Map.Entry<Integer,String> entry=it.next();//it.next获取的是Map.Entry对象
Integer key=entry.getKey();//通过映射关系对象方法getKey,getValue获取键值对
String value=entry.getValue();
System.out.println(key+"...."+value);

8、Map中存储的Map集合(集合的嵌套)
假设有两个班级 :基础班、就业班

基础班
学号 姓名
1231 小红
1234 小强
就业班
学号 姓名
121 小黄
124 小白
public static void main(String [] arg){
HashMap<String,HashMap<String,String>> czbk=new HashMap<String,HashMap<String,String>>();//第一个String是班级,第二个是学号,第三个是姓名
}
public static void keySet(HashMap<String,HashMap<String,String>> czbk){
Set<String> classNameSet=czbk.keySet();//调用czbk集合方法keySet将键存储到Set集合
Iterator<String> classNameIt=classNameSet.iterator();//迭代Set集合
while(classNameIt.hasNext()){
String classNameKey=classNameIt.next();//获取czbk的键
HashMap<String,String> classMap=czbk.get(classNameKey);//第一个String是学号,第二个是姓名,通过get(K)获取值
Set<String> studentNum=classMap.keySet();
Iterator<String> studentIt=studentNum.iterator();
while(studentIt.hasNext()){
String numkey=studentIt.next();
String nameValue=classMap.get(numkey);
System.out.println(classNameKey+"..."+numkey+"..."+nameValue);
}
}
}

|

发布了8 篇原创文章 · 获赞 2 · 访问量 444

猜你喜欢

转载自blog.csdn.net/weixin_45704114/article/details/104202320