`

遍历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

    使用Iterator接口遍历集合元素

    Iterator 接口隐藏了各种 Collection 实现类的底层细节,向应用程序提供了遍历 Collection 集合元素的统一编程接口。 Iterator 接口定义了三个方法:boolean hasNext()、Object next() 和 void remove()。hasNext()...

    Java基础知识-day02【Collection、泛型】.pdf

    Iterator 是 Java 集合中的一员,主要用于迭代访问(即遍历)Collection 中的元素。想要遍历 Collection 集合,那么就要获取该集合迭代器完成迭代操作。迭代器可以通过调用 Collection 对象的 iterator() 方法来获取...

    Gbase8s collection使用.doc

    -- 遍历 Collection 举例 create temp table tmp0 (value varchar(20)) with no log; foreach cur for -- 把元素赋值给 element 变量,并插入临时表用于验证 select * into element from table(coll1) insert ...

    Java语言程序设计:第八章 容器.ppt

    为了遍历Collection中的元素,Java引入了Iterator接口,提供hasNext()、next()和remove()方法,支持单向前进的元素访问。 2. Iterator接口:迭代器是访问Collection元素的主要方式,它允许程序员遍历容器而无需暴露...

    JAVA_Collection框架

    3. **迭代器**:`Iterator` 接口用于遍历 Collection 中的元素。`Iterable` 接口使得任何实现了该接口的类都可以被遍历。 - `Iterator` 提供了 `hasNext()` 和 `next()` 方法,分别用于判断是否还有下一个元素以及...

    java常用操作代码

    本文将详细解释标题和描述中提到的Java代码片段,主要涉及List、Set、Map等核心数据结构,以及ArrayList、Vector、LinkedList、HashMap和HashTable的区别,并介绍如何遍历Collection和从字符串中提取数字的方法。...

    Java 8增强的工具类-Arrays

    Java 8 中增强的工具类 Arrays 提供了一个新的 for 循环语法,能够更方便地遍历数组和 Collection 等类型的对象。 Java 中的传统 for 循环方式 在 Java 中,通常使用 for 循环来遍历数组或 Collection 对象。例如...

    java for循环的几种写法

    在 Java 编程语言中,for 循环是一种非常常用的循环语句,用于遍历数组、Collection 等类型的对象。在 J2SE 1.5 中,Java 引入了一种新的 for 循环语法,称为“增强的 for 循环”或“foreach 循环”,它提供了一种更...

    List列表拒绝添加重复信息VB6.0源代码.rar

    - 可以用类似的方法检查新元素是否已存在于Collection中,通过`For Each`循环遍历Collection,比较每个元素与新元素。 6. **代码实现**: - 一个基本的实现可能包括以下步骤: 1. 初始化一个Collection或...

    JDK1.5中增强for循环

    2. **遍历 Collection**: ```java String[] strings = {"A", "B", "C", "D"}; Collection&lt;String&gt; stringList = java.util.Arrays.asList(strings); for (Iterator&lt;String&gt; itr = stringList.iterator(); itr....

    java的框架怎么样做的,来看看吧

    - `iterator()`方法返回一个迭代器,用于遍历Collection中的元素。 2. **Set接口**: - 扩展自Collection接口,不允许重复元素,并且不保证元素的顺序。常见的Set实现类有HashSet和TreeSet。 3. **List接口**: ...

    Java容器类的深入理解

    遍历Collection中的元素通常通过迭代器(Iterator)实现,这是Collection接口的标准方法。迭代器提供了hasNext()和next()方法,用于判断是否有下一个元素并获取当前元素。 在实际开发中,选择合适的容器类取决于...

    java集合类详解

    #### 遍历Collection 所有`Collection`的实现都支持`iterator()`方法,用于遍历集合中的元素。通过迭代器(`Iterator`)可以逐一访问集合中的每个元素,典型用法如下: ```java Iterator it = collection.iterator...

    java集合框架

    遍历Collection `Collection`接口提供了一个`iterator()`方法来获取一个迭代器,通过迭代器可以遍历`Collection`中的元素。例如: ```java Iterator it = collection.iterator(); while (it.hasNext()) { Object...

    Java集合框架类学习啊

    Iterator接口是遍历Collection的工具,提供了hasNext()方法判断是否还有元素,next()方法获取下一个元素,以及remove()方法删除当前元素。Iterator是故障快速修复(fail-fast)的,如果在迭代过程中底层集合被修改,...

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

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

    Java容器简要介绍

    1. Iterator接口是遍历Collection容器的标准方式。它只能单向移动,并提供了hasNext()、next()和remove()等方法。List接口还提供了ListIterator,允许双向遍历List。 2. List接口的特点在于保持元素的顺序,适合于...

    Java 容器.pdf_电子版pdf版

    1. 迭代器模式:Collection 继承了 Iterable 接口,其中的 iterator() 方法能够产生一个 Iterator 对象,通过这个对象就可以迭代遍历 Collection 中的元素。 2. 适配器模式:java.util.Arrays#asList() 可以把数组...

Global site tag (gtag.js) - Google Analytics