我是靠谱客的博主 壮观曲奇,最近开发中收集的这篇文章主要介绍Iterator遍历,迭代Map集合的三种方式,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

 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集合的三种方式所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(37)

评论列表共有 0 条评论

立即
投稿
返回
顶部