`

java中集合的遍历与增强for循环的使用

阅读更多

java集合类的使用可以说是无处不在,总的我们可以将之分为三大块,分别是从Collection接口延伸出的List、Set和以键值对形式作存储的Map类型集合。
     许多情况需要我们遍历出集合中的元素,并做相应的处理。
     下面对各种类型的集合的遍历做一些总结,关于增强for循环,需要注意的是,使用增强for循环无法访问数组下标值,对于集合的遍历其内部采用的也是Iterator的相关方法。如果只做简单遍历读取,增强for循环确实减轻不少的代码量。
关于List与Set类型集合的遍历:

import java.util.ArrayList;  
import java.util.HashSet;  
import java.util.Iterator;  
import java.util.List;  
import java.util.Set;  
  
public class ListAndSetTest {  
  
    public static void main(String[] args) {  
        // List集合的遍历  
        listTest();  
        // Set集合的遍历  
        setTest();  
    }  
  
    private static void setTest() {  
        Set<String> set = new HashSet<String>();  
        set.add("JAVA");  
        set.add("C");  
        set.add("C++");  
        // 重复的加不进去。  
        set.add("JAVA");  
        set.add("JAVASCRIPT");  
  
        //set集合遍历方法1,使用iterator  
        Iterator<String> it = set.iterator();  
        while (it.hasNext()) {  
            String value = it.next();  
            System.out.println(value);  
        }  
          
        //set集合遍历方法2,使用增强for循环。  
        for(String s: set){  
            System.out.println(s);  
        }  
    }  
  
    // 遍历list集合  
    private static void listTest() {  
        List<String> list = new ArrayList<String>();  
        list.add("java111");  
        list.add("java222");  
        list.add("java333");  
        list.add("java444");  
        list.add("java555");  
  
        // 遍历方式1 ,使用iterator  
        Iterator<String> it = list.iterator();  
        while (it.hasNext()) {  
            String value = it.next();  
            System.out.println(value);  
        }  
  
        // 遍历方法2 , 使用传统for循环进行遍历。  
        for (int i = 0, size = list.size(); i < size; i++) {  
            String value = list.get(i);  
            System.out.println(value);  
        }  
  
        // 遍历方法3 , 使用增强for循环进行遍历。  
        for (String value : list) {  
            System.out.println(value);  
        }  
    }  
}  
 

 
关于Map类型集合的遍历,keySet()与entrySet()方法:

//增强For循环  
public class MapTest {   
    public static void main(String[] args) {  
        // 创建一个HashMap对象,并加入了一些键值对。  
        Map<String, String> maps = new HashMap<String, String>();  
        maps.put("111", "java111");  
        maps.put("222", "java222");  
        maps.put("333", "java333");  
        maps.put("444", "java444");  
        maps.put("555", "java555");  
          
        // 传统的遍历map集合的方法1; keySet()  
        //traditionalMethod1(maps);  
        // 传统的遍历map集合的方法2; entrySet()  
        //traditionalMethod2(maps);  
        // 使用增强For循环来遍历map集合方法1; keySet()  
        //strongForMethod1(maps);  
        // 使用增强For循环来遍历map集合方法2; entrySet()  
        strongForMethod2(maps);  
    }  
  
    private static void strongForMethod2(Map<String, String> maps) {  
        Set<Entry<String, String>> set = maps.entrySet();  
        for (Entry<String, String> entry : set) {  
            String key = entry.getKey();  
            String value = entry.getValue();  
            System.out.println(key + " : " + value);  
        }  
    }  
  
    private static void strongForMethod1(Map<String, String> maps) {  
        Set<String> set = maps.keySet();  
        for (String s : set) {  
            String key = s;  
            String value = maps.get(s);  
            System.out.println(key + " : " + value);  
        }  
    }  
  
    // 使用entrySet()方法,获取maps集合中的每一个键值对,  
    private static void traditionalMethod2(Map<String, String> maps) {  
        Set<Map.Entry<String, String>> sets = maps.entrySet();  
        // 取得迭代器遍历出对应的值。  
        Iterator<Entry<String, String>> it = sets.iterator();  
        while (it.hasNext()) {  
            Map.Entry<String, String> entry = (Entry<String, String>) it.next();  
            String key = entry.getKey();  
            String value = entry.getValue();  
            System.out.println(key + " : " + value);  
        }  
    }  
  
    // 使用keySet()方法,获取maps集合中的所有键,遍历键取得所对应的值。  
    private static void traditionalMethod1(Map<String, String> maps) {  
        Set<String> sets = maps.keySet();  
        // 取得迭代器遍历出对应的值。  
        Iterator<String> it = sets.iterator();  
        while (it.hasNext()) {  
            String key = it.next();  
            String value = maps.get(key);  
            System.out.println(key + " : " + value);  
        }  
    }  
}

 

 

http://www.2cto.com/kf/201303/195307.html

分享到:
评论

相关推荐

    java技巧java中可以用来循环遍历任何一个集合的通用方法

    除了使用迭代器之外,Java还提供了一种更简洁的方式来遍历集合——增强for循环(也称为“for-each”循环)。这种方式的语法更简单,可读性更好,但其实质仍然是通过迭代器实现的。 ```java public void print...

    Java中增强for循环的实现原理和坑详解

    在增强for循环中,Java编译器会将其转换为一个普通的for循环,使用迭代器来遍历集合或数组。迭代器会在遍历过程中维护一个索引,指向当前要遍历的元素。这样,增强for循环可以简洁地遍历集合或数组,提高编程效率。 ...

    java for循环与增强for循环

    增强for循环的唯一缺点是,在遍历集合过程中,不能对集合本身进行操作。例如: ```java Set&lt;String&gt; set = new HashSet(); for (String str : set) { set.remove(str); // 错误! } ``` 这将引发一个...

    Java增强for循环中获取index

    在Java编程语言中,增强的for循环(也称为foreach循环)是Java 5引入的一个重要特性,它简化了数组和集合的迭代。然而,增强for循环本身并不直接提供索引访问,这与传统的for循环不同。传统for循环可以让我们通过...

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

    Java Collection 集合遍历是 Java 语言中最常用的数据结构之一。Collection 是 Java 集合框架中的一个接口,提供了基本的集合操作,例如添加、删除、遍历元素等。Collection 中的元素可以是任何类型的对象,包括基本...

    java集合遍历的几种方式总结及详细比较

    Java集合遍历是Java编程中最基本也是最重要的操作之一。集合遍历是指对集合中的每个元素进行访问和处理的过程。Java中提供了多种集合遍历方式,包括迭代器遍历、Map遍历、List遍历等。下面我们将逐一介绍这些遍历...

    java数组 遍历方法集合

    3. **遍历列表**: 使用增强型`for`循环直接遍历列表中的每个元素,无需显式地管理索引。 **总结**: - **迭代器遍历**:适用于需要对元素进行增删操作的情况,但使用起来稍微复杂一些。 - **传统for循环遍历**:...

    java for循环与增强for循环.docx

    增强 for 循环是 Java 5 中引入的一种循环结构,用于遍历数组或集合中的元素。 普通的 for 循环 普通的 for 循环的基本结构如下所示: ```java for (初始化语句; 条件语句; 迭代语句) { // 循环体 } ``` 其中,...

    Java增强的for循环

    Java增强的for循环是Java 5.0中引入的一种新的循环语法,旨在简化数组和集合的遍历操作。这种循环语法可以使代码更加简洁,让程序员使用时更加方便。但是,增强的for循环也存在一些局限性,需要根据实际需要选择合适...

    浅析Java 8中的集合遍历.pdf

    "浅析Java 8中的集合遍历" Java 8中的集合遍历是一种非常重要的编程技术, Java平台提供了多种方式遍历对象的集合,其中包括今年3月19日发布的Java 8中引入的新特性。本文主要回顾了迭代器,着重分析了主动式迭代器...

    一分钟了解Java中List集合与set集合的多种遍历方式

    一分钟了解Java中List集合与set集合的多种遍历方式...在Java中,List集合和set集合都可以使用多种遍历方式,包括for循环遍历、foreach增强循环遍历、迭代器遍历和lambda表达式遍历,每种遍历方式都有其特点和应用场景。

    java基础for循环练习题

    在"java基础for循环练习题"中,我们通常会遇到几种类型的`for`循环,包括基本的`for`循环、增强型`for`循环(也称为foreach循环),以及在数组和集合中的应用。下面我们将深入探讨这些知识点。 1. **基本的for循环*...

    java-遍历map

    本文将深入探讨如何在Java中使用`keySet`方法来遍历`Map`集合,以及相关的知识点。 ### 一、Java Map接口简介 `Map`接口是Java集合框架的一部分,它提供了存储和检索唯一键对象及其对应的值对象的方法。一个`Map`...

    详解Java中list,set,map的遍历与增强for循环

    本篇文章将深入探讨Java中的List、Set和Map三种主要集合类型的遍历方法,以及如何使用增强for循环(也称为foreach循环)来简化代码。 首先,我们来看集合框架的基础。Java集合分为两大部分:Collection接口和Map...

    暑假培训学习笔记之java循环遍历集合

    而循环遍历集合是Java开发中的基础操作,对于理解和熟练运用Java集合框架至关重要。本笔记将深入探讨如何使用不同类型的循环来遍历Java集合,包括数组列表(ArrayList)、链表(LinkedList)、集合(Set)和映射...

    Java 实例 - 集合遍历源代码-详细教程.zip

    总结,Java集合遍历是日常开发中常见的操作,理解不同集合的遍历方式对于优化代码性能至关重要。本教程提供的源代码详细解释了ArrayList、LinkedList、HashSet和HashMap的遍历,以及Java 8的流API使用,有助于加深对...

    java Map 遍历方法

    与遍历`entrySet()`类似,也可以使用增强型for循环遍历`keySet()`。 ```java for (String key : emails.keySet()) { System.out.println("email-" + key + ":" + emails.get(key)); } ``` #### 二、遍历Map...

    java遍历list集合.zip

    本资料主要探讨如何遍历Java中的List集合,包括基本的迭代器方式、增强for循环(foreach)以及流(Stream)API的使用。下面我们将深入讲解这些遍历方法。 1. 迭代器(Iterator)遍历: Java中的List接口定义了...

    JDK1.5中增强for循环

    为了解决这些问题,JDK 1.5 引入了一种新的 for 循环语法——增强 for 循环,它允许开发者以更简洁的方式遍历数组或集合中的元素。具体格式如下: ```java for (循环变量类型 循环变量名称 : 要被遍历的对象) 循环...

    java中循环遍历删除List和Set集合中元素的方法(推荐)

    这种方法通过获取集合的Iterator,并在循环中使用`iterator.remove()`方法删除元素,避免了并发修改的问题。 ```java List&lt;CheckWork&gt; list = this.getUserDao().getAll(); Iterator&lt;CheckWork&gt; chk_it = list....

Global site tag (gtag.js) - Google Analytics