Java中关于 ArrayList 和 Map 的常用遍历方法 (学习笔记,便于以后查询)
一、学习ArrayList与Map时,关于常用遍历方法的记录如下:



二、附源码如下:
package com.study.in.myself;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
public class Study16 {
public static void main (String [] args){
//遍历ArrayList的几种方法
//创建一个ArrayList对象,并造型为String类型
List<String> list = new ArrayList<String>();
list.add("Hello");
list.add("world");
list.add("学习迭代器");
//第一种遍历方法 for循环
for(int i =0 ; i<list.size();i++){
//HashMap map = (HashMap)list.get(i);
System.out.println(list.get(i));
}
//第二种遍历方法 把链表变为数组相关的内容进行遍历
String[] strArray=new String[list.size()];
list.toArray(strArray);
for(int i= 0 ;i < strArray.length;i++){
System.out.println(strArray[i]);
}
//第三种遍历方法 增强for循环
for(String str : list){
System.out.println(str);
}
//第四种遍历方法 使用迭代器进行遍历
Iterator<String> ite = list.iterator();
while(ite.hasNext()){
System.out.println(ite.next());
}
//遍历Map的几种方法
HashMap<String,String> map = new HashMap<String,String>();
map.put("1", "学习map用put放值");
map.put("2", "学习Map的遍历方法");
map.put("3", "Hello World");
//第一种遍历方法 通过map.get(key)二次取值 常用
for(String key :map.keySet()){
System.out.println("key"+key+" value "+map.get(key));
}
//第二种遍历方法 通过map.entrySet使用iterator遍历key和value:(迭代器遍历)
Iterator<Map.Entry<String, String>> it = map.entrySet().iterator();
while(it.hasNext()){
Map.Entry<String, String> entry = it.next();
System.out.println("key "+entry.getKey()+" value "+entry.getValue());
}
//第三种方法 通过Map.entrySet遍历key和value 推荐 尤其是容量很大的时候
for(Map.Entry<String, String> entry: map.entrySet()){
System.out.println("key "+entry.getKey()+" value "+entry.getValue());
}
//第四种方法 通过Map.values()遍历所有的value,但不能遍历key 慎用
for(String v:map.values()){
System.out.println("value "+v);
}
}
}
Java中关于 ArrayList 和 Map 的常用遍历方法 (学习笔记,便于以后查询)的更多相关文章
- java中的Set的使用以及各种遍历方法(较为全面)
1. 概述 Java 中的Set和正好和数学上直观的集(set)的概念是相同的.Set最大的特性就是不允许在其中存放的元素是重复的.根据这个特点,我们就可以使用Set 这个接口来实现前面提到的关于商品 ...
- JAVA 中的 Collection 和 Map 以及相关派生类的概念
JAVA中Collection接口和Map接口的主要实现类 Collection接口 Collection是最基本的集合接口,一个Collection代表一组Object,即Collection的 ...
- Java中的Set,List,Map的区别
1. 对JAVA的集合的理解是想对于数组 数组是大小固定的,并且同一个数组只能存放类型一样的数据(基本类型/引用类型) JAVA集合可以存储和操作数目不固定的一组数据. 所有的JAVA集合都位于 ja ...
- Java中集合List,Map和Set的区别
Java中集合List,Map和Set的区别 1.List和Set的父接口是Collection,而Map不是 2.List中的元素是有序的,可以重复的 3.Map是Key-Value映射关系,且Ke ...
- 实现Java中的ArrayList
最近深受轮子哥影响,觉得造一些轮子应该会对自己的技术功底有一定的帮助,就决定先从简单的容器开始实现.废话不多说,就先实现一个Java中的ArrayList. ArrayList是我们在Java中使用非 ...
- Java中集合List,Map和Set的差别
Java中集合List,Map和Set的差别 1.List和Set的父接口是Collection.而Map不是 2.List中的元素是有序的,能够反复的 3.Map是Key-Value映射关系,且Ke ...
- JAVA中比较两个文件夹不同的方法
JAVA中比较两个文件夹不同的方法,可以通过两步来完成,首先遍历获取到文件夹下的所有文件夹和文件,再通过文件路径和文件的MD5值来判断文件的异同.具体例子如下: public class TestFo ...
- Java中取小数点后两位(四种方法)
摘自http://irobot.iteye.com/blog/285537 Java中取小数点后两位(四种方法) 一 Long是长整型,怎么有小数,是double吧 java.text.D ...
- JavaScript中正则表达式判断匹配规则以及常用的方法
JavaScript中正则表达式判断匹配规则以及常用的方法: 字符串是编程时涉及到的最多的一种数据结构,对字符串进行操作的需求几乎无处不在. 正则表达式是一种用来匹配字符串的强有力的武器.它的设计思想 ...
随机推荐
- Python 爬虫 招聘信息并存入数据库
新学习了selenium,啪一下腾讯招聘 from lxml import etree from selenium import webdriver import pymysql def Geturl ...
- C语言变量的初始化
关于C语言变量是否需要初始化的问题.以前西北工业大学的C语言老师说的是,需要初始化,如果不初始化就使用的话,变量的值是以前遗留在内存中的,是不确定的(这只是针对局部变量的).C语言全局变量如果没有初始 ...
- 在CentOS7中搭建Zookeeper集群
前几天装了CentOS7.并安装了一些基本的工具,现在我手上有三台机器:分别是master,slave1,slave2. 今天我将搭建zookeeper,使用的版本是zookeeper-3.4.11. ...
- SpaceVim 语言模块 erlang
原文连接: https://spacevim.org/cn/layers/lang/erlang/ 模块简介 功能特性 启用模块 快捷键 语言专属快捷键 交互式编程 模块简介 这一模块为 SpaceV ...
- 从PRISM开始学WPF(七)MVVM(三)事件聚合器EventAggregator-更新至Prism7.1
原文:从PRISM开始学WPF(七)MVVM(三)事件聚合器EventAggregator-更新至Prism7.1 事件聚合器EventAggregator [7.1updated]除了app部分,没 ...
- 深圳Uber司机本周(7.13-7.19凌晨4:00)的奖励政策
本周(7.13-7.19凌晨4:00)的奖励政策为: 佣金返还: 车费的20%适用于所有产品(不包括Tesla)无获取条件 翻倍补贴: 每周一到周四07:00-10:00/17:00-22:00:车费 ...
- [数据结构]_[C/C++]_[链表的最佳创建方式]
场景 1.链表在C/C++里使用非常频繁, 因为它非常使用, 可作为天然的可变数组. push到末尾时对前面的链表项不影响. 反观C数组和std::vector, 一个是静态大小, 一个是增加多了会对 ...
- STM32f469I discovery烧写demo例程
1. 首先安装STM32 ST-Link Utility V3.7,电脑接板子的CN1,然后在STM32 ST-Link Utility V3.7点击连接目标板子(目标-连接),点击External ...
- C++ 基础面试题-1
请说出下面代码在32位系统下的输出内容 /* ** 2018/03/21 21:43:00 ** Brief: ** Author:ZhangJianWei ** Email:Dream_Dog@16 ...
- 后台可以用layui快速开发
后台可以用layui快速开发