`

遍历Collection

    博客分类:
  • JAVA
阅读更多

一、Map的遍历

import java.util.HashMap;
 import java.util.Iterator;
 import java.util.Map;

/**
 * Map的遍历,这个遍历比较特殊,有技巧
 *
 * @author leizhimin 2009-7-22 15:15:34
 */
 public class TestMap {
         public static void main(String[] args) {
                 Map<String, String> map = new HashMap<String, String>();
                 map.put("1", "a");
                 map.put("2", "b");
                 map.put("3", "c");

                //最简洁、最通用的遍历方式
                for (Map.Entry<String, String> entry : map.entrySet()) {
                         System.out.println(entry.getKey() + " = " + entry.getValue());
                 }
                 //Java5之前的比较简洁的便利方式1
                System.out.println("----1----");
                 for (Iterator<Map.Entry<String, String>> it = map.entrySet().iterator(); it.hasNext();) {
                         Map.Entry<String, String> entry = it.next();
                         System.out.println(entry.getKey() + " = " + entry.getValue());
                 }
                 //Java5之前的比较简洁的便利方式2
                System.out.println("----2----");
                 for (Iterator<String> it = map.keySet().iterator(); it.hasNext();) {
                         String key = it.next();
                         System.out.println(key + " = " + map.get(key));
                 }
         }
 }

 二、Queue的遍历

import java.util.Queue; 
import java.util.concurrent.LinkedBlockingQueue; 

/** 
* 队列的遍历 
* 
* @author leizhimin 2009-7-22 15:05:14 
*/ 
public class TestQueue { 
        public static void main(String[] args) { 
                Queue<Integer> q = new LinkedBlockingQueue<Integer>(); 
                //初始化队列 
                for (int i = 0; i < 5; i++) { 
                        q.offer(i); 
                } 
                System.out.println("-------1-----"); 
                //集合方式遍历,元素不会被移除 
                for (Integer x : q) { 
                        System.out.println(x); 
                } 
                System.out.println("-------2-----"); 
                //队列方式遍历,元素逐个被移除 
                while (q.peek() != null) { 
                        System.out.println(q.poll()); 
                } 
        } 
}

 三、Stack的遍历

import java.util.Stack;

/**
 * 栈的遍历
 *
 * @author leizhimin 2009-7-22 14:55:20
 */
 public class TestStack {
         public static void main(String[] args) {
                 Stack<Integer> s = new Stack<Integer>();
                 for (int i = 0; i < 10; i++) {
                         s.push(i);
                 }
                 //集合遍历方式
                 for (Integer x : s) {
                         System.out.println(x);
                 }
                 System.out.println("------1-----");
                 //栈弹出遍历方式
 //                while (s.peek()!=null) {     //不健壮的判断方式,容易抛异常,正确写法是下面的
                 while (!s.empty()) {
                         System.out.println(s.pop());
                 }
                 System.out.println("------2-----");
                 //错误的遍历方式
//                for (Integer x : s) {
 //                        System.out.println(s.pop());
 //                }
         }
 }

 四、ArrayList遍历的4种方法

package com.test;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class ArrayListDemo {
    public static void main(String args[]){
        List<String> list = new ArrayList<String>();
        list.add("luojiahui");
        list.add("luojiafeng");
        //方法1
        Iterator it1 = list.iterator();
        while(it1.hasNext()){
            System.out.println(it1.next());
        }
        //方法2  
        for(Iterator it2 = list.iterator();it2.hasNext();){
             System.out.println(it2.next());
        }
        //方法3
        for(String tmp:list){
            System.out.println(tmp);
        }
        //方法4
        for(int i = 0;i < list.size(); i ++){
            System.out.println(list.get(i));
        }
    }
}

 在遍历集合时候,优先考虑使用foreach语句来做,这样代码更简洁些。

分享到:
评论

相关推荐

    计算机后端-Java-Java核心基础-第24章 集合01 08. 使用Iterator遍历Collection.avi

    计算机后端-Java-Java核心基础-第24章 集合01 08. 使用Iterator遍历Collection.avi

    meteor-collection-iterator:从Meteor集合创建迭代器对象

    集合迭代器这个Mongo.Collection实例添加了一个方法,该方法返回一个。例子 Animals = new Mongo . Collection ( 'animals' ) ;'ant bat cat dog elk fox gnu hog' . split ( ' ' ) . forEach ( function ( animal )...

    Iterator迭代器的简单介绍与使用

    想要遍历Collection集合,那么就要获取该集合迭代器完成迭代操作,下面介绍一下获取迭代器的方法: public Iterator iterator(): 获取集合对应的迭代器,用来遍历集合中的元素的。 下面介绍一下迭代的概念: 迭代:...

    java迭代器

    Iterator 对象称为迭代器 设计模式的一种 )),主要用于遍历 Collection 集合中的元素。迭代器提供一种方法访问一个容器(container)对象中各个元素,而又不需暴露该对象的内部细节。迭代器模式,就是为容器而生。 ...

    logic:iterate标签当遍历的collection为Map时的使用

    1. Map里存放的是bean时 &lt;br&gt;&lt;logic:iterate id="destMap" name="srcMap"&gt;&lt;br&gt; &lt;bean:define id="bean" name="destMap" property="value" /&gt;&lt;br&gt; &lt;bean:write name="bean" property="name" /&gt;&lt;br&gt; &lt;/...

    Java Collection集合遍历运行代码实例

    主要介绍了Java Collection集合遍历运行代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

    MongoDB学习笔记之MapReduce使用示例

    使用 MapReduce 要实现两个函数 Map 函数和 Reduce 函数, Map 函数调用 emit(key, value), 遍历 collection 中所有的记录, 将key 与 value 传递给 Reduce 函数进行处理。Map 函数必须调用 emit(key, value) 返回键值...

    Collection集合框架总结以及遍历方法

    总结集合框架需要实现哪些方法,以及集合的遍历方法JDK8.0以下的遍历方法

    Java for-each循环使用难题2例(高级使用方法)

    从Java5起,在Java中有了for-each循环,可以用来循环遍历collection和array。For each循环允许你在无需保持传统for循环中的索引,或在使用iterator /ListIterator时无需调用while循环中的hasNext()方法就能遍历...

    java遍历特例

    另外 我们可以先把hashMap 转为集合Collection,再迭代输出,不过得到的对象 //方法一: 用entrySet() Java代码 Iterator it = emails.entrySet().iterator(); while(it.hasNext()){ Map.Entry m=(Map...

    Collection 集合的练习 foreach

    Collection 是所以集合的基类,该实例主要对Collection集合的成员函数的练习以及Iterator和foreach的遍历集合的练习,试用与java/C++ 新手。。

    Java集合框架Collection接口.pdf

    其中Collection接口是Java集合框架的基础接口之一,定义了一些基本的集合操作,包括添加元素、删除元素、遍历集合等。在这里,我将为您详细介绍Java集合框架中的Collection接口。 Collection接口是Java集合框架中的...

    Collection-and-Map.zip_java list map

    关于Map,List,collection集合遍历,泛型等

    使用Iterator接口遍历集合元素

    Iterator接口在集合中的使用方法!

    List、Set、Map的特点及遍历方法

    List、Set、MapList与Set集合的区别List、Map、Set三个接口,存取元素时,各有什么特点SetListMapList、Set、Map遍历的实现先来个Employee实体类List遍历的三种方式Set遍历的两种方式Map的几种遍历 List与Set集合的...

    C#使用foreach遍历哈希表(hashtable)的方法

    本文实例讲述了C#使用foreach遍历哈希表(hashtable)的方法。分享给大家供大家参考。具体实现方法如下: using System; using System.Collection; namespace HashSampleApplication1 { class Program { static ...

    jsp简单自定义标签的forEach遍历及转义字符示例

    接着昨天的,如果中的items类型是map或者Collection类型的,怎样使用增强for循环; 首先还是创建一个标签处理器类,定义两个属性,String var; Object items; 因为items要迭代各种集合,所以要使用Object; 然后重写...

    Collection学习笔记——每天一个Java小技巧

    Collection学习笔记Collection集合概述Collection集合常用方法Collection集合的遍历(迭代器)集合的使用样例 Collection集合概述 是单例集合的顶层接口 它提供了更具体的子接口的实现,如set和list. Collection集合...

    Python中Collection的使用小技巧

    本文所述实例来自独立软件开发者 Alex Marandon,在他的博客中曾介绍了数个关于 Python Collection 的实用小技巧,在此与大家分享。供大家学习借鉴之用。具体如下: 1.判断一个 list 是否为空 传统的方式: if len...

    JAVA入门学习笔记(1)– Collection集合的基础知识

    对集合操作的接口3.1 Collection接口3.2 List接口3.3 Set接口4. 集合类4.1 集合的实现类4.1.1 ArrayList 4.1.2 LinkedList 4.1.3 Vecotor4.1.4 HashSet 4.1.5 LinkedHashSet 4.2 Conllections工具类5. 集合的遍历...

Global site tag (gtag.js) - Google Analytics