【Java】遍历List/Set/Map集合的一些常用方法
/*
* 遍历List/Set/Map集合的一些常用方法
*/
import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;
public class TestMapListSet {
public static void main(String[] args) {
// 遍历List集合 :
// 生成一个简单地List集合[aa,bb,cc,dd]
List<String> list = new ArrayList<>();
list.add("aa");
list.add("bb");
list.add("cc");
list.add("dd");
// 方法一:普通的for循环
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}
// 方法二:增强for循环,foreach循环
for (String s : list) {
System.out.println(s);
}
// 方法三:使用迭代器(1)for循环
for (Iterator<String> iter = list.iterator(); iter.hasNext();) {
String temp = (String) iter.next();
System.out.println(temp);
}
// 方法四:使用迭代器(2)while循环
Iterator<String> it = list.iterator();
while (it.hasNext()) {
String temp = (String) it.next();
if (false) {
it.remove(); // 如果在遍历的过程中需要删除部分元素的话,推荐使用此方法
}
System.out.println(temp);
}
// 遍历Set集合:
// 生成一个简单的Set集合[aa,bb,cc,dd]
Set<String> set = new HashSet<>();
set.add("aa");
set.add("bb");
set.add("cc");
set.add("dd");
// 方法一:增强for循环:foreach循环
for (String s : set) {
System.out.println(s);
}
// 方法二:使用迭代器
for (Iterator<String> iter = set.iterator(); iter.hasNext();) {
String temp = (String) iter.next();
System.out.println(temp);
}
// 遍历Map集合:
// 生成一个简单地Map集合[512--aa,513--bb,514--cc,515--dd]
Map<Integer, String> map = new HashMap<>();
map.put(512, "aa");
map.put(513, "bb");
map.put(514, "cc");
map.put(515, "dd");
// 方法一:根据Key获取Value,foreach循环
Set<Integer> keySet = map.keySet();
for (Integer i : keySet) {
System.out.println(i + "--" + map.get(i));
}
// 方法二:使用迭代器,使用entrySet
Set<Map.Entry<Integer, String>> set1 = map.entrySet();
for (Iterator<Map.Entry<Integer, String>> iter = set1.iterator(); iter.hasNext();) {
Map.Entry<Integer, String> temp = iter.next();
System.out.println(temp.getKey() + "--" + temp.getValue());
}
}
}
【Java】遍历List/Set/Map集合的一些常用方法的更多相关文章
- Java笔记(二十三)……Map集合
Map接口 Map<K,V> 该集合存储的是键值对,成对往集合里存,而且要保证键的唯一性 常用方法 添加 Vput(K key, V value) voidputAll(Map<? ...
- struts2:OGNL表达式,遍历List、Map集合;投影的使用
OGNL是Object-Graph Navigation Language的缩写,它是一种功能强大的表达式语言(Expression Language,简称为EL),通过它简单一致的表达式语法,可以存 ...
- Java第二十天,Map集合(接口)
Map接口 一.定义 Map集合是双列集合,即一个元素包含两个值(一个key,一个value),Collection集合是单列集合. 定义格式: public interface Map<K,V ...
- 【Java学习笔记】Map集合的keySet,entrySet,values的用法例子
import java.util.Collection; import java.util.HashMap; import java.util.Iterator; import java.util.M ...
- JAVA基础学习之 Map集合、集合框架工具类Collections,Arrays、可变参数、List和Set集合框架什么时候使用等(4)
package com.itcast.test20140113; import java.util.ArrayList; import java.util.Arrays; import java.ut ...
- java 遍历List 和 Map的几种方法
java遍历List 1.(性能最差) for(String tmp:list) { //System.out.println(tmp); } 2.(性能最好) for(int i = 0; i &l ...
- 集合框架-Map集合特点及常用方法
1 package cn.itcast.p6.map.demo; 2 3 import java.util.HashMap; 4 import java.util.Iterator; 5 import ...
- JAVA基础知识之Map集合
Map的内部结构Entry Set与Map的关系 Map的内部类Entry Map的通用方法及Map的简单用法 HashMap和HashTable的区别 HashMap和HashTable判断元素相等 ...
- 遍历 ArrayList与Map集合
import java.util.ArrayList; import java.util.Iterator; import java.util.List; /** * 遍历 ArrayList * @ ...
随机推荐
- wepy框架开发小程序遇到的node-sass问题解决方案
一.报错图 二.解决方案 主要是windows平台缺少编译环境, 1.先运行: npm install -g node-gyp 2.然后运行cmd:(右键点击:以管理员身份运行) 输入:npm ins ...
- Spring boot 梳理 - 配置eclipse集成maven,并开发Spring boot hello
@RestController @EnableAutoConfiguration public class App { @RequestMapping("/hello") publ ...
- mybatis 配置之<typeAliases>别名配置元素设置
一.方式一:使用typeAlias <typeAliases> <typeAlias alias="User" type="com.**.entity. ...
- java 集成Redis 一主多从
1.测试代码如下: public static void main(String[] args) { Set<String> sentinels = new HashSet<Stri ...
- jedis 2.9版本部分属性变更
1.控制一个pool可分配多少个jedis实例 “maxActive” -> “maxTotal” 2.最大建立连接等待时间.如果超过此时间将接到异常.设为-1表示无限制. “maxWait” ...
- 难题解决:Mycat数据库中间件+Mybatis批量插入数据并返回行记录的所有主键ID
一.mybatis的版本必须为3.3.1及其以上 项目所依赖的mybatis的版本必须为3.3.1及其以上,低版本的不行,保证hap项目的依赖的mybatis的jar的版本必需为需要的版本: 二.在 ...
- mysql引号与esc键下方键
navicat导出数据表发现建表语句如下: create table `product_category` ( `category_id` int not null auto_increment, ` ...
- Spring Boot2 系列教程(十)Spring Boot 整合 Freemarker
今天来聊聊 Spring Boot 整合 Freemarker. Freemarker 简介 这是一个相当老牌的开源的免费的模版引擎.通过 Freemarker 模版,我们可以将数据渲染成 HTML ...
- Java线程状态和关闭线程的正确姿势
1.线程状态及切换 Java中的线程有六种状态,使用线程Thread内的枚举类来实现,如下,我对每个状态都进行了一定的解释. public enum State { /** 表示一个线程还没启用(即未 ...
- 题解:2018级算法第二次上机 Zexal的流水线问题
题目描述: 样例: 实现解释: 最基础的流水线调度问题,甚至没有开始和结束的值 实现方法即得出状态转移方程后完善即可,设a[][i]存储着第一二条线上各家的时间花费,t[][i]存储着i处进行线路切换 ...