Java集合迭代器Iterator

用迭代器遍历Java集合List,Set,Map


 

package com.bai.cn.Collection;

import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.ListIterator;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
import java.util.Iterator;

/**
 * 集合迭代器
 * @author 白
 *
 */

public class IteratorDemo {
	public static void main(String[] args) {
		//list遍历
		List<String> list=new ArrayList<String>();
		list.add("aaa");
		list.add("bbb");
		list.add("ccc");
		list.add("ddd");
		list.add("eee");
		System.out.println("-------list遍历方式一-------");
		for(int i=0;i<list.size();i++){
			System.out.println(list.get(i));
		}
		System.out.println("-------list遍历方式二-------");
		for(ListIterator<String> iterator=list.listIterator();iterator.hasNext();){
			System.out.println(iterator.next());
		}
		//Set遍历
		System.out.println("-------Set遍历-------");
		Set<String> set=new HashSet<String>();
		set.add("aaa");
		set.add("bbb");
		set.add("ddd");
		set.add("CCC");
		set.add("aaa");
		
		
		Iterator<String> iterator1=set.iterator();//返回迭代器集合专用函数iterator()
		//用whlie循环迭代器
		while(iterator1.hasNext()){
			System.out.println(iterator1.next());
		}
		//用for循环遍历迭代器
		for(Iterator<String> iterator2=set.iterator();iterator2.hasNext();){
			System.out.println(iterator2.next());
		}
		
		
		//map遍历
		Map<String, Bird> map=new HashMap<String,Bird>();
		map.put("1001", new Bird("心脏鸟",200000000,"地球",20000000));
		map.put("1002", new Bird("能源鸟",700000000,"厄来抵特行星",200000));
		map.put("1003", new Bird("概念鸟",0,"宇宙空间",0));
		//方式一
		System.out.println("-------Map遍历方式一-------");
		Set<String> keySet=map.keySet();
		for(Iterator<String> mIterator=keySet.iterator();mIterator.hasNext();){
			System.out.println(mIterator.next());
		}
		Collection<Bird> mCollection=map.values();
		Iterator<Bird> mIterator=mCollection.iterator();
		while (mIterator.hasNext()) {
			Bird bird=mIterator.next();
			System.out.println(bird.getName()+"--"
					+bird.getAge()+"--"
					+bird.getPlace()+"--"
					+bird.getNumber());
		}
		//方式二
		System.out.println("-------Map遍历方式二-------");
		Set<Entry<String, Bird>> entrySet=map.entrySet();
		for(Iterator<Entry<String, Bird>> mIterator2=entrySet.iterator();mIterator2.hasNext();){
			System.out.println(mIterator2.next().getValue().getAge());
		}
	}
}
class Bird{

	private String name;
	private int age;
	private String place;
	private int number;
	
	
	
	public Bird(String name, int age, String place, int number) {
		super();
		this.name = name;
		this.age = age;
		this.place = place;
		this.number = number;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
	public String getPlace() {
		return place;
	}
	public void setPlace(String place) {
		this.place = place;
	}
	public int getNumber() {
		return number;
	}
	public void setNumber(int number) {
		this.number = number;
	}
}

结果:


 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值