1.使用keySet()方法:
使用keySet方法拿到map集合中所有的键,存储在set集合中,foreach遍历set集合,通过键获取值。
Set<Car> cars = carStringHashMap.keySet();
for (Car car :cars ) {
System.out.println(car+" "+carStringHashMap.get(car));
}
//简写方式
for (Car car : carStringHashMap.keySet()) {
System.out.println(car+" "+carStringHashMap.get(car));
}
2.使用entrySet()方法
将map集合中每一对儿元素当成一个Entry对象看待
Set<Entry<k,v>>entrySet()得到entry的set集合
把map集合转化为一个set集合(双列--单列)
Entry对象:有键,有值。
entry.getKey()返回键
entry.getValue() 返回值
entry.setValue(新值) 修改键对应的旧值
Set<Map.Entry<Car, String>> ent= carStringHashMap.entrySet();
for (Map.Entry<Car, String> ent2: ent) {
System.out.println(ent2.getKey()+" "+ent2.getValue());
}
//简写
for (Map.Entry<Car, String> carStringEntry : carStringHashMap.entrySet()) {
System.out.println(carStringEntry.getKey() + carStringEntry.getValue());
}
3.JDK8的新特性,map.foreach((key,value->))
map.foreach((key,value)->{action})
carStringHashMap.forEach((key, value) -> {
System.out.println(key + " " + value);
});
4.使用迭代器Iterator
Iterator<Map.Entry<String, Student>> iterator = entries.iterator();
while(iterator.hasNext()){
Map.Entry<String, Student> next = iterator.next();
System.out.println(next.getKey()+" "+next.getValue());
}
5.使用values()方法
Collection<String> values = carStringHashMap.values();
Collection<Car> keys = carStringHashMap.keySet();
for(String str:values){
System.out.println(str);
}