概述
Map集合有5种遍历方式 详细见我上篇关于Map集合的文章
其中的Iterator遍历如下
package demo3;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map.Entry;
public class TestIterator {
public static void main(String[] args) {
//创建对象
Student stu1=new Student();
Student stu2=new Student();
Student stu3=new Student();
//创建集合
HashMap<Integer,Student> Map=new HashMap<Integer,Student>();
//把对象放入集合
Map.put(1, stu1);
Map.put(2, stu2);
Map.put(3, stu3);
System.out.println("******** 第一种迭代keyset ********");
Iterator<Integer> it=Map.keySet().iterator();
while(it.hasNext()) {
Integer key=it.next();
Student value=Map.get(key);
System.out.println("键值对是--"+key+"---"+value);
}
System.out.println("******** 第二种迭代values ********");
Iterator<Student> it1=Map.values().iterator();
while(it1.hasNext()) {
Student value=it1.next();
System.out.println("键值对是--"+"---"+value);
}
System.out.println("******** 第三种迭代entrySet ********");
Iterator<Entry<Integer,Student>> it2=Map.entrySet().iterator();
while(it2.hasNext()) {
Entry<Integer,Student> entry=it2.next();
Integer key=entry.getKey();
Student value=entry.getValue();
System.out.println("键值对是--"+key+"---"+value);
}
}
}
学生类
package demo3;
public class Student {
private long id;
private String name;
private long age;
private String sex;
private String pwd;
private long tid;
private long version;
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public long getAge() {
return age;
}
public void setAge(long age) {
this.age = age;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public String getPwd() {
return pwd;
}
public void setPwd(String pwd) {
this.pwd = pwd;
}
public long getTid() {
return tid;
}
public void setTid(long tid) {
this.tid = tid;
}
public long getVersion() {
return version;
}
public void setVersion(long version) {
this.version = version;
}
@Override
public String toString() {
return "Student [id=" + id + ", name=" + name + ", age=" + age + ", sex=" + sex + ", pwd=" + pwd + ", tid="
+ tid + ", version=" + version + "]";
}
public Student(long id, String name, long age, String sex, String pwd, long tid, long version) {
super();
this.id = id;
this.name = name;
this.age = age;
this.sex = sex;
this.pwd = pwd;
this.tid = tid;
this.version = version;
}
public Student() {
super();
// TODO Auto-generated constructor stub
}
}
第三种迭代解析
map不有个Key和value吗 一个Key对应一个value 而key和value组合起来的一个组就是entry 要想取出这个组里的key和value就用entry的迭代器迭代即可。
//获得map的迭代器,用作遍历map中的每一个键值对
Iterator是迭代器,map之前应该定义过,姑且认为是HashMap。
<Entry<String,String>>表示map中的键值对都是String类型的。
map.entrySet()是把HashMap类型的数据转换成集合类型
map.entrySet().iterator()是去获得这个集合的迭代器,保存在iter里面。。
迭代器这么用:
while(iter.hasNext()) {
Entry<> obj = it.next();//就能获得map中的每一个键值对了
}
Iterator<Entry<String,String>> iter=map.entrySet().iterator();
按正常思路来写怎样写?
(调用entrySet()和iterator()不是分开写的吗?
为什么Entry的首字母要大写?
这留给聪明的你仔细想想!!!!
以上就是三种迭代的使用啦!!!!!
最后
以上就是壮观曲奇为你收集整理的Iterator遍历,迭代Map集合的三种方式的全部内容,希望文章能够帮你解决Iterator遍历,迭代Map集合的三种方式所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复