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); } } }
相关推荐
除了使用迭代器之外,Java还提供了一种更简洁的方式来遍历集合——增强for循环(也称为“for-each”循环)。这种方式的语法更简单,可读性更好,但其实质仍然是通过迭代器实现的。 ```java public void print...
在增强for循环中,Java编译器会将其转换为一个普通的for循环,使用迭代器来遍历集合或数组。迭代器会在遍历过程中维护一个索引,指向当前要遍历的元素。这样,增强for循环可以简洁地遍历集合或数组,提高编程效率。 ...
增强for循环的唯一缺点是,在遍历集合过程中,不能对集合本身进行操作。例如: ```java Set<String> set = new HashSet(); for (String str : set) { set.remove(str); // 错误! } ``` 这将引发一个...
在Java编程语言中,增强的for循环(也称为foreach循环)是Java 5引入的一个重要特性,它简化了数组和集合的迭代。然而,增强for循环本身并不直接提供索引访问,这与传统的for循环不同。传统for循环可以让我们通过...
Java Collection 集合遍历是 Java 语言中最常用的数据结构之一。Collection 是 Java 集合框架中的一个接口,提供了基本的集合操作,例如添加、删除、遍历元素等。Collection 中的元素可以是任何类型的对象,包括基本...
Java集合遍历是Java编程中最基本也是最重要的操作之一。集合遍历是指对集合中的每个元素进行访问和处理的过程。Java中提供了多种集合遍历方式,包括迭代器遍历、Map遍历、List遍历等。下面我们将逐一介绍这些遍历...
3. **遍历列表**: 使用增强型`for`循环直接遍历列表中的每个元素,无需显式地管理索引。 **总结**: - **迭代器遍历**:适用于需要对元素进行增删操作的情况,但使用起来稍微复杂一些。 - **传统for循环遍历**:...
增强 for 循环是 Java 5 中引入的一种循环结构,用于遍历数组或集合中的元素。 普通的 for 循环 普通的 for 循环的基本结构如下所示: ```java for (初始化语句; 条件语句; 迭代语句) { // 循环体 } ``` 其中,...
Java增强的for循环是Java 5.0中引入的一种新的循环语法,旨在简化数组和集合的遍历操作。这种循环语法可以使代码更加简洁,让程序员使用时更加方便。但是,增强的for循环也存在一些局限性,需要根据实际需要选择合适...
"浅析Java 8中的集合遍历" Java 8中的集合遍历是一种非常重要的编程技术, Java平台提供了多种方式遍历对象的集合,其中包括今年3月19日发布的Java 8中引入的新特性。本文主要回顾了迭代器,着重分析了主动式迭代器...
一分钟了解Java中List集合与set集合的多种遍历方式...在Java中,List集合和set集合都可以使用多种遍历方式,包括for循环遍历、foreach增强循环遍历、迭代器遍历和lambda表达式遍历,每种遍历方式都有其特点和应用场景。
在"java基础for循环练习题"中,我们通常会遇到几种类型的`for`循环,包括基本的`for`循环、增强型`for`循环(也称为foreach循环),以及在数组和集合中的应用。下面我们将深入探讨这些知识点。 1. **基本的for循环*...
本文将深入探讨如何在Java中使用`keySet`方法来遍历`Map`集合,以及相关的知识点。 ### 一、Java Map接口简介 `Map`接口是Java集合框架的一部分,它提供了存储和检索唯一键对象及其对应的值对象的方法。一个`Map`...
本篇文章将深入探讨Java中的List、Set和Map三种主要集合类型的遍历方法,以及如何使用增强for循环(也称为foreach循环)来简化代码。 首先,我们来看集合框架的基础。Java集合分为两大部分:Collection接口和Map...
而循环遍历集合是Java开发中的基础操作,对于理解和熟练运用Java集合框架至关重要。本笔记将深入探讨如何使用不同类型的循环来遍历Java集合,包括数组列表(ArrayList)、链表(LinkedList)、集合(Set)和映射...
总结,Java集合遍历是日常开发中常见的操作,理解不同集合的遍历方式对于优化代码性能至关重要。本教程提供的源代码详细解释了ArrayList、LinkedList、HashSet和HashMap的遍历,以及Java 8的流API使用,有助于加深对...
与遍历`entrySet()`类似,也可以使用增强型for循环遍历`keySet()`。 ```java for (String key : emails.keySet()) { System.out.println("email-" + key + ":" + emails.get(key)); } ``` #### 二、遍历Map...
本资料主要探讨如何遍历Java中的List集合,包括基本的迭代器方式、增强for循环(foreach)以及流(Stream)API的使用。下面我们将深入讲解这些遍历方法。 1. 迭代器(Iterator)遍历: Java中的List接口定义了...
为了解决这些问题,JDK 1.5 引入了一种新的 for 循环语法——增强 for 循环,它允许开发者以更简洁的方式遍历数组或集合中的元素。具体格式如下: ```java for (循环变量类型 循环变量名称 : 要被遍历的对象) 循环...
这种方法通过获取集合的Iterator,并在循环中使用`iterator.remove()`方法删除元素,避免了并发修改的问题。 ```java List<CheckWork> list = this.getUserDao().getAll(); Iterator<CheckWork> chk_it = list....