一、简介

实际项目中,通常会用到循环遍历List、Map等,今天有空总结了一下List/Map/Set的遍历方法,如下:

二、List遍历

List遍历的方法一般有三种: 

【a】使用普通的for循环;

【b】使用增强for循环;

【c】使用Iterator接口遍历;

下面以一个示例说明一下List的遍历方法:

package com.wsh;import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;/*** @Description: List接口遍历方法* @Author: weishihuai* @Date: 2018/10/2 09:28*/
public class TestList {private static List<String> list = new ArrayList<>();static {list.add("zhangsan");list.add("lisi");list.add("wangwu");}public static void main(String[] args) {/*** 方法一: 使用for循环*/for (int i = 0,size = list.size(); i < size;i++) {//zhangsan lisi wangwuSystem.out.println(list.get(i));}/*** 方法二: 使用增强for循环*/for (String string : list) {//zhangsan lisi wangwuSystem.out.println(string);}/*** 方法三: 使用Iterator方法*/Iterator<String> iterator = list.iterator();while (iterator.hasNext()) {String next = iterator.next();//zhangsan lisi wangwuSystem.out.println(next);}}}

三、Map遍历

Map集合遍历一般有四种方法:

【a】使用 hashMap.entrySet() 循环;

【b】使用Iterator接口遍历;

【c】使用 hashMap.keySet()/hashMap.values()/Iterator;

【d】使用hashMap.keySet()/forEach 遍历;

下面以一个示例说明一下Map的遍历方法:

package com.wsh;import java.util.*;/*** @Description: Map接口的遍历方法* @Author: weishihuai* @Date: 2018/10/2 09:52*/
public class TestMap {private static HashMap<String,Object> hashMap = new HashMap<>();static {hashMap.put("name","zhangsan");hashMap.put("age","20");hashMap.put("sex","male");}public static void main(String[] args) {/*** 方法一: 使用 hashMap.entrySet() 循环*/for(Map.Entry<String,Object> entry : hashMap.entrySet()) {String key = entry.getKey();String value = (String) entry.getValue();
//            sex=====>male
//            name=====>zhangsan
//            age=====>20System.out.println(key + "=====>" + value);}/*** 方法二: 使用Iterator接口遍历*/Iterator<Map.Entry<String, Object>> iterator = hashMap.entrySet().iterator();while (iterator.hasNext()) {Map.Entry<String, Object> entry = iterator.next();String key = entry.getKey();String value = (String) entry.getValue();
//            sex=====>male
//            name=====>zhangsan
//            age=====>20System.out.println(key + "=====>" + value);}/*** 方法三: 使用 hashMap.keySet()/hashMap.values()/Iterator*/Set<String> strings = hashMap.keySet();Collection<Object> values = hashMap.values();for (Iterator<String> iterator1 = strings.iterator();iterator1.hasNext();) {String key = iterator1.next();String value = (String) hashMap.get(key);
//            sex=====>male
//            name=====>zhangsan
//            age=====>20System.out.println(key + "=====>" + value);}for (Iterator i = values.iterator(); i.hasNext();) {String s = (String) i.next();// 循环输出value
//            male
//            zhangsan
//            20System.out.println(s);}/*** 方法四: 使用hashMap.keySet()/forEach 遍历*/for (String key : hashMap.keySet()) {String value = (String) hashMap.get(key);
//            sex=====>male
//            name=====>zhangsan
//            age=====>20System.out.println(key + "=====>" + value);}}}

四、Set遍历

Set集合遍历一般有两种方法:

【a】使用Iterator接口遍历;

【b】使用增强for循环遍历;

下面以一个示例说明一下Set的遍历方法:

package com.wsh;import java.util.HashSet;
import java.util.Iterator;/*** @Description: Set接口的遍历方法* @author: weishihuai* @Date: 2018/10/2 09:01*/
public class TestSet {private static HashSet<String> hashSet = new HashSet<>();static {hashSet.add("zhangsan");hashSet.add("lisi");hashSet.add("wangwu");}public static void main(String[] args) {/*** 方法一: Iterator遍历*/Iterator iterator = hashSet.iterator();//判断是否还有元素没有被遍历while (iterator.hasNext()) {//返回当前游标对应的元素,并把游标移向下一个元素String next = (String) iterator.next();//lisi zhangsan wangwuSystem.out.println(next);}for (Iterator iterator1 = hashSet.iterator(); iterator1.hasNext(); ) {//返回当前游标对应的元素,并把游标移向下一个元素String next = (String) iterator1.next();//lisi zhangsan wangwuSystem.out.println(next);}/*** 方法二: 使用增强for循环*/for (String string : hashSet) {//lisi zhangsan wangwuSystem.out.println(string);}}}

五、总结

以上是关于Java中常用集合List、Map、Set遍历方法的讲解,这只是作者的一些总结,仅供大家参考学习,希望对大家有所帮助,一起学习,一起进步。

Java集合Collection之遍历方法总结(List、Map、Set)相关推荐

  1. 【重难点】【Java集合 02】Set、List、Map 的区别、常见的线程安全的集合类、Collection 为什么只能在 Iterator 中删除元素

    [重难点][Java集合 02]List.Set.Map 的区别.常见的线程安全的集合类.Collection 为什么只能在 Iterator 中删除元素 文章目录 [重难点][Java集合 02]L ...

  2. Java集合Collection接口中的常用方法演示

    Java集合Collection接口中的常用方法演示 添加 add(Objec tobj) 和 addAll(Collection coll) 获取有效元素的个数 int size() 清空集合 vo ...

  3. Java14-day05【集合(Collection常用方法-遍历、List特有方法、List集合子类特点、LinkedList集合的特有功能、ListIterator)】

    视频+资料(工程源码.笔记)[链接:https://pan.baidu.com/s/1MdFNUADVSFf-lVw3SJRvtg   提取码:zjxs] Java基础--学习笔记(零起点打开java ...

  4. java集合Collection,ArrayList,常见方法及演示。

    Collection集接口方法 add(E e)添加元素; clear()清空元素; remove(E e)移除元素; size()元素数量; toArray()集合转数组; contains(E e ...

  5. java 先进先出的map_「 深入浅出 」java集合Collection和Map

    本系列文章主要对java集合的框架进行一个深入浅出的介绍,使大家对java集合有个深入的理解. 本篇文章主要具体介绍了Collection接口,Map接口以及Collection接口的三个子接口Set ...

  6. Java 集合Collection常见知识点汇总~

    看了一些所谓大公司的JAVA面试问题,发现对于JAVA集合类的使用都比较看重似的,而自己在这方面还真的是所真甚少,抽空也学习学习吧. java.util包中包含了一系列重要的集合类,而对于集合类,主要 ...

  7. Java—一篇读懂java集合(Collection/Map)及Lambda表达式

    集合简介   在集合类之前,我们使用数组存储,数组既可以存储基本数据类型的值,也可以存储对象(对象的引用变量),但是集合只能存储对象.   Java集合类似于一种容器,将同类型的对象(实际为对象引用) ...

  8. Java 集合 Collection、Iterator

    Java集合分为Set(无序.不可重复).List(有序.重复).Queue(队列)和Map(映射关系) Java集合概述 数组元素既可以是基本类型的值,也可以是对象(实际保存对象的引用变量) 集合只 ...

  9. Java集合Collection源码系列-ArrayList源码分析

    Java集合系列-ArrayList源码分析 文章目录 Java集合系列-ArrayList源码分析 前言 一.为什么想去分析ArrayList源码? 二.源码分析 1.宏观上分析List 2.方法汇 ...

  10. Java集合---Collection接口的常用方法

    Collection常用方法 size() 功能说明 返回当前集合中元素的总数量 代码实现 import java.util.ArrayList; import java.util.Collectio ...

最新文章

  1. 【学术前沿】26 亿参数训练量,水平接近人类,Google 开发的“史上最强”聊天机器人意义何在?...
  2. Internet History, Technology, and Security----第一周
  3. laravel-admin 使用记录(2) - 快速搭建 CURD
  4. VTK:相互作用之MouseEventsObserver
  5. delphi测试服务器响应时间,负载测试中的页面响应时间 - Visual Studio (Windows) | Microsoft Docs...
  6. 隐马尔可夫模型(五)——隐马尔可夫模型的解码问题(维特比算法)
  7. oracle连接报08006,oracle数据库无法连接 The Network Adapter could not establish
  8. SAP License:SAP MM物料管理
  9. Git和Github详细入门教程
  10. 系统分析师-论文 (论需求分析方法及应用)
  11. 普元EOS的项目部署
  12. CVE-2013-3893 IE浏览器UAF漏洞分析
  13. 江阴:智慧融入城市血液,打造创新发展新名片
  14. oracle删sequen,Oracle中如何创建使用SEQUENCES
  15. java写一个结婚的方法_一份结婚流程 作为你结婚的Project管理不错哦
  16. python单片机编程入门先学什么_编程入门必看:带你零基础了解编程和编程语言,入门应该学什么?...
  17. python+selenium+pycharm自动化测试环境搭建
  18. CSS3选择器-属性选择器
  19. 清空Redis集群数据工具
  20. win10快捷方式变成空白图标怎么办?

热门文章

  1. TensorFlow by Google CNN识别猫和狗 Machine Learning Foundations: Ep #6 - Convolutional cats and dogs
  2. 算法:24.两两交换链表中的节点
  3. tensorflow学习笔记(2):创建自定义Estimator
  4. 2020_1123_生活记录
  5. 【线段树】Interval GCD【线段树维护gcd】
  6. php 工业通讯录,PHP 制作通讯录(六)
  7. java 接口 同名方法_java 实现多个接口 方法重名的解决办法——内部类
  8. C语言函数未声明错误,switch 调用函数 错误未定义???
  9. php pdoconnection,php使用pdo连接报错Connection failed SQLSTATE的解决方法
  10. 关于Redis启动时报权限不够(-bash: /usr/local/bin/redis-server: Permission denied)