海口网站运营托管报价,网站开发市场 知乎,网站建设 枫子科技,网站建设需要审批吗一、 Map接口实现类的 特点[很实用]
key是自己存的java对象 value是一个固定的 //当有相同的 k ,就等价于替换.
二、 Map常用方法
#xff08;根据键–k#xff09;
三、Map接口遍历方法 package com.hspedu.map_;
import java.util.*;
/**
* author 韩顺平
* ver…
一、 Map接口实现类的 特点[很实用]
key是自己存的java对象 value是一个固定的 //当有相同的 k ,就等价于替换.
二、 Map常用方法
根据键–k
三、Map接口遍历方法 package com.hspedu.map_;
import java.util.*;
/**
* author 韩顺平
* version 1.0
*/
SuppressWarnings({all})
public class MapFor {
public static void main(String[] args) {
Map map new HashMap();
map.put(邓超, 孙俪);
map.put(王宝强, 马蓉);
map.put(宋喆, 马蓉);
map.put(刘令博, null);
map.put(null, 刘亦菲);
map.put(鹿晗, 关晓彤);
//第一组: 先取出 所有的 Key , 通过 Key 取出对应的 ValueSet keyset map.keySet();
//(1) 增强 forSystem.out.println(-----第一种方式-------);for (Object key : keyset) {System.out.println(key - map.get(key));
}
//(2) 迭代器System.out.println(----第二种方式--------);Iterator iterator keyset.iterator();while (iterator.hasNext()) {Object key iterator.next();System.out.println(key - map.get(key));
}
//第二组: 把所有的 values 取出Collection values map.values();
//这里可以使用所有的 Collections 使用的遍历方法
//(1) 增强 forSystem.out.println(---取出所有的 value 增强 for----);for (Object value : values) {System.out.println(value);}
//(2) 迭代器System.out.println(---取出所有的 value 迭代器----);Iterator iterator2 values.iterator();while (iterator2.hasNext()) {Object value iterator2.next();System.out.println(value);}
//第三组: 通过 EntrySet 来获取 k-vSet entrySet map.entrySet();// EntrySetMap.EntryK,V
//(1) 增强 forSystem.out.println(----使用 EntrySet 的 for 增强(第 3 种)----);for (Object entry : entrySet) {
//将 entry 转成 Map.EntryMap.Entry m (Map.Entry) entry;System.out.println(m.getKey() - m.getValue());
}
//(2) 迭代器System.out.println(----使用 EntrySet 的 迭代器(第 4 种)----);Iterator iterator3 entrySet.iterator();while (iterator3.hasNext()) {Object entry iterator3.next();
//System.out.println(next.getClass());//HashMap$Node -实现- Map.Entry (getKey,getValue)
//向下转型 Map.EntryMap.Entry m (Map.Entry) entry;System.out.println(m.getKey() - m.getValue());
}
}Object类型 - Map.Entry类型 - Employee类型
四、练习疑难 1.如何实现筛选工资
答向下转型进行判断
//遍历 2 种方式
//并遍历显示工资18000 的员工(遍历方式最少两种)
//1. 使用 keySet - 增强 for
Set keySet hashMap.keySet();
System.out.println(第一种遍历方式);
for (Object key : keySet) {
//先获取 value
Emp emp (Emp) hashMap.get(key);
if(emp.getSal() 18000) {
System.out.println(emp);
}
}
//2. 使用 EntrySet - 迭代器
// 体现比较难的知识点
// 慢慢品越品越有味道. Set entrySet hashMap.entrySet();
System.out.println(迭代器);
Iterator iterator entrySet.iterator();
while (iterator.hasNext()) {
Map.Entry entry (Map.Entry)iterator.next();
//通过 entry 取得 key 和 value
Emp emp (Emp) entry.getValue();
if(emp.getSal() 18000) {
System.out.println(emp);
}
}