Java Map集合的遍历(简述)
Posted GotWindy
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java Map集合的遍历(简述)相关的知识,希望对你有一定的参考价值。
Java Map集合的遍历(简述)
今天给大家分享一下集合的iterator遍历和增强for遍历(以map集合为例)
献给大家简单介绍一下map集合,map集合存储的是键值对,它和set、ArrayList等集合不同的是它不含add方法等添加元素,详细就不累述了,要用的时候可以直接去搜。它用put和remove增删元素,里面的元素是无序的,是线程不安全的集合。下面代码为例:
private static Map inputkeyandvalue() {
// TODO Auto-generated method stub
Map<Integer,String> map = new HashMap<Integer,String>();
map.put(1, "a");
map.put(66, "b");
map.put(6, "c");
map.put(5, "a");
System.out.println(map);
System.out.println(map.get("66"));
return map;
}
在delete方法里面用remove删除map集合里面的元素(按照键删除键值对)
Map<Integer,String> recive_delete = inputkeyandvalue();
recive_delete.remove(1);
接下来可以开始遍历map集合了(先用KeySet遍历方式),调用map的keyset方法,将数据存到Set集合当中,再用迭代器遍历或者增强for遍历遍历,以下为代码:
//调用map的keyset方法,将数据存到Set集合当中,KeySet遍历方式
Set<Integer> set = recive_mapset.keySet();
//用迭代器遍历set
System.out.println("迭代器遍历");
Iterator<Integer> it = set.iterator();
while(it.hasNext()){
Integer key = it.next();
String value = recive_mapset.get(key);
System.out.println(key+"......"+value);
}
System.out.println("增强for遍历");
for(Integer key :set){
String value = recive_mapset.get(key);
System.out.println(key+"......"+value);
}
第二种遍历方式, 调用map的entry方法(entry表示的是键值对的关系),将键值对的关系存到set集合里面,遍历entry,然后调用entry的getKey和getValue的方法获得键与值。代码如下。
//将键值对的关系存到set集合里面,entrySet遍历方式
Set<Map.Entry<Integer,String>> set = recive_mapset.entrySet();
//增强for………
//迭代器
Iterator<Map.Entry<Integer,String>> it = set.iterator();
while(it.hasNext()){
//System.out.println(it.next());
Map.Entry<Integer,String> entry = it.next();
Integer key = entry.getKey();
String value = entry.getValue();
System.out.println(key +"........."+value);
}
备注:我在java 项目里建了inputkeyandvalue()方法来创建一个map集合,在不同的方法中调用该方法生成map集合对象recive_mapset
源代码附在下面:
package day20;
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){
//inputkeyandvalue();
//delete();
//mapset();
entryset();
}
private static void entryset() {
// TODO Auto-generated method stub
Map<Integer,String> recive_mapset = inputkeyandvalue();
//将键值对的关系存到set集合里面,entrySet遍历方式
Set<Map.Entry<Integer,String>> set = recive_mapset.entrySet();
//增强for………
//迭代器
Iterator<Map.Entry<Integer,String>> it = set.iterator();
while(it.hasNext()){
//System.out.println(it.next());
Map.Entry<Integer,String> entry = it.next();
Integer key = entry.getKey();
String value = entry.getValue();
System.out.println(key +"........."+value);
}
}
private static void mapset() {
// TODO Auto-generated method stub
//
Map<Integer,String> recive_mapset = inputkeyandvalue();
//调用map的keyset方法,将数据存到Set集合当中,KeySet遍历方式
Set<Integer> set = recive_mapset.keySet();
//用迭代器遍历set
System.out.println("迭代器遍历");
Iterator<Integer> it = set.iterator();
while(it.hasNext()){
Integer key = it.next();
String value = recive_mapset.get(key);
System.out.println(key+"......"+value);
}
System.out.println("增强for遍历");
for(Integer key :set){
String value = recive_mapset.get(key);
System.out.println(key+"......"+value);
}
}
private static void delete() {
// TODO Auto-generated method stub
Map<Integer,String> recive_delete = inputkeyandvalue();
recive_delete.remove(1);
System.out.println(recive_delete);
}
private static Map inputkeyandvalue() {
// TODO Auto-generated method stub
Map<Integer,String> map = new HashMap<Integer,String>();
map.put(1, "a");
map.put(66, "b");
map.put(6, "c");
map.put(5, "a");
System.out.println(map);
System.out.println(map.get("66"));
return map;
}
}
如有不正确的地方欢迎大家指正,谢谢观看。
以上是关于Java Map集合的遍历(简述)的主要内容,如果未能解决你的问题,请参考以下文章