之前在上一篇《java常用对象API中集合框架之Map的用法》文章中简单的例举了一些Map集合中的一些简单方法和一些常用的子类,那么本章将对例举的方法和子类进行一一的详细说明和举例,这样也是为了让更多的朋友们学习java能够得到另一种启发而得以快速的掌握java的相关知识,从而让大家的java编程之路走的更明白。
这里说一个题外话,大家在学习java的过程中一定要多练和多分析案例,也就是大家最好能够多敲敲代码,那怕你自己已经认为你会了,或者你懂了,但是不要认为多敲代码是一种奢侈,因为只有你多敲多练才是你真正快速上手的一把利器。
继续回到我们今天的主题。
之前在上一篇文章中已经例举了Map集合中的一些方法,这些方法其实很简单,那么我这里只想告诉大家两种不同的取出(迭代)方法,也就是取出关于这个Map中的键值内容。
第一种方式:
大家都知道,对于Map集合中本身已经有一个方法可以直接取出Map集合中的值,这个方法分别是get();方法。这个方法只能是利用键来取出值,但是如何来取出键呢?
然后在API中找到了另外一个方法,keySet();方法,这个方法可以取出Map中所有的键所在的Set集合;再通过Set的迭代器获取到每一个键,之后再用get();方法获得对应的值。
例如:
//导入所有需要用到的包
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
//主函数
public class MapDemo{
public static void main(String[] args){
Map map = new HashMap();
//返回前一个和key关联的值,如果没有返回null,相当于添加一些元素进集合
/*如果存在键相同,值不同,那么会覆盖之前的值*/
map.put(8,”张三”);
map.put(2,”李四”);
map.put(6,”王五”);
map.put(4,”赵六”);
//返回map映射中所有的键Set集合并进行迭代
Set keySet = map.keySet();
Iterator it = keySet.iterator();
while(it.hasNext){
//将取出的值赋值给key
Integer key = it.next();
//将key放入get方法进行取出对应的值并打印
String value = map.get(key);
System.out.println(key+”–“+value);
}
}
}
这样就将Map集合中的元素通过Set集合的迭代器进行了取出,当然,除了上面的方法外,这里智言还会介绍第二种方式来进行取出。
第二种法式:
我们在API中查询到另外一个方法entrySet();,这个方法是返回整个Map集合中所有的键值关系内容,什么意思呢?我们在第一种方式中提到的keySet方法是返回整个Map中所有的键元素,而entrySet方法是返回整个Map中所有的键值元素。
例如:
//导入所有需要用到的包
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
//主函数
public class MapDemo{
public static void main(String[] args){
Map map = new HashMap();
//返回前一个和key关联的值,如果没有返回null,相当于添加一些元素进集合
/*如果存在键相同,值不同,那么会覆盖之前的值*/
map.put(8,”张三”);
map.put(2,”李四”);
map.put(6,”王五”);
map.put(4,”赵六”);
//返回map映射中所有的键值Set集合并通过getKey和getValue取出相应的键和值;
Set entrySet= map.entrySet();
Iterator it = entrySet.iterator();
while(it.hasNext){
Map.Entry me = it.next();
//将取出的键元素赋值给key
Integer key = me.getKey();
//将取出的值元素复制给value
String value = me.getValue();
System.out.println(key+”–“+value);
}
}
}
那么通过以上两种方式都能将Map集合中的元素进行取出。
注意:所有的代码都没有加泛型。
评论前必须登录!
注册