前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >List、Set、Map 集合遍历 小结

List、Set、Map 集合遍历 小结

作者头像
qubianzhong
发布2018-08-10 16:28:36
1.2K0
发布2018-08-10 16:28:36
举报
文章被收录于专栏:行者常至行者常至

List、Set 继承自Collection接口。

LIst:元素是有序的,元素可以重复。因为该集合体系有索引。

Set:元素是无序的,元素不可以重复。

Map:Map不继承Collection接口。Map提供key到value的映射。一个Map中不能包含相同的key,每个key只能映射一个value。

下面就是List、Set、Map的集合遍历的具体代码:

代码语言:javascript
复制
package net.qbzhong.disc.test;

public class Book {
	private String book_id;
	private String name;
	private Double price;
	public String getBook_id() {
		return book_id;
	}
	public void setBook_id(String book_id) {
		this.book_id = book_id;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public Double getPrice() {
		return price;
	}
	public void setPrice(Double price) {
		this.price = price;
	}
	public Book(){
		
	}
	public Book(String book_id, String name, Double price) {
		super();
		this.book_id = book_id;
		this.name = name;
		this.price = price;
	}
	
}
代码语言:javascript
复制
<span style="font-size:14px;">package net.qbzhong.disc.test;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Set;

public class Test {


	public static void main(String[] args) {
		ArrayList<Book> list = new ArrayList<Book>();
		Set<Book> set = new HashSet<Book>();
		HashMap<String, Book> map = new HashMap<String, Book>();
		for(int i=0;i<10;i++){
			Book book = new Book("book_"+i,"book"+i,10.00*i);
			list.add(book);
			set.add(book);
			map.put(i+"", book);
		}
		/**
		 * List 集合遍历:
		 */
		//foreach遍历List
		for(Book book : list){
			System.out.println("foreach遍历list--书本名:"+book.getName());
		}
		//普通for循环遍历list
		for(int i=0;i<list.size();i++){
			System.out.println("普通for循环遍历list--书本名:"+list.get(i).getName());
		}
		//使用迭代器遍历list,while循环
		Iterator<Book> it = list.iterator();
		while(it.hasNext()){
			System.out.println("使用迭代器遍历list--书本名:"+it.next().getName());
		}
		//使用迭代器遍历list,for循环
		for(Iterator<Book> it1 = list.iterator();it1.hasNext();){
			System.out.println("使用迭代器遍历list,for循环--书本名:"+it1.next().getName());
		}
		/**
		 * Set集合遍历
		 */
		//foreach遍历Set
		for(Book book : set){
			System.out.println("foreach遍历Set--书本名:"+book.getName());//此时输出是无序的!!!
		}
		//使用迭代器遍历set,while循环
		Iterator<Book> it2 = set.iterator();
		while(it2.hasNext()){
			System.out.println("使用迭代器遍历set--书本名:"+it2.next().getName());//此时输出是无序的!!!
		}
		//使用迭代器遍历set,for循环
		for(Iterator<Book> it3 = set.iterator();it3.hasNext();){
			System.out.println("使用迭代器遍历set,for循环--书本名:"+it3.next().getName());//此时输出是无序的!!!
		}
		/**
		 * Map集合遍历
		 */
		//foreach遍历map---1
		for(Book book : map.values()){
			System.out.println("foreach遍历map--书本名:"+book.getName());
		}
		//foreach遍历map---2
		for(String key : map.keySet()){
			System.out.println("foreach遍历map--书本名:"+map.get(key).getName());
		}
		//普通for循环遍历map
		for(int i=0;i<map.size();i++){
			System.out.println("普通for循环遍历map--书本名:"+map.get(i+"").getName());
		}
		//使用迭代器遍历map,while循环
		Iterator<String> it4 = map.keySet().iterator();
		while(it4.hasNext()){
			String key = it4.next();
			System.out.println("使用迭代器遍历map--书本名:"+ map.get(key).getName());
		}
		//使用迭代器遍历map,for循环
		//这种方式,此处就略显繁琐了。。。
		for(Iterator<String> it5 = map.keySet().iterator();it5.hasNext();){
			System.out.println("使用迭代器遍历map,for循环--书本名:"+map.get(it5.next()).getName());
		}
	}

}
</span>
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2015年07月05日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档