ListSetAndMap
package com.collection.test; 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.Map.Entry;
import java.util.Set; /**
* Java中的list、set、map遍历总结
* @author xiaoyin
*
*/
public class ListSetAndMap { public static void main(String[] args) {
// List集合的遍历
testList();
// Set集合的遍历
testSet();
// Map集合的遍历
testMap();
} /**
* 遍历map集合的方法:
* 1.使用keySet()获得key的set集合,然后使用Iterator迭代器或foreach遍历set即可,但是只能直接取出key,再通过key取出value,两种方法
* 2.使用entrySet()获得key-value的set集合,然后使用Iterator迭代器或foreach遍历set即可,可同时取出key和value,两种方法
*/
private static void testMap() {
Map<String, String> maps = new HashMap<>();
maps.put("001", "Java");
maps.put("002", "Spring");
maps.put("003", "SpringMVC");
maps.put("004", "Mybatis"); // Map遍历方法1-1: 使用keySet得到key的Set集合,再使用foreach遍历Set集合
Set<String> keySet = maps.keySet();
for (String ss : keySet) {
String key = ss;
String value = maps.get(ss);
System.out.println(key + ":" + value);
}
// Map遍历方法1-2: 使用keySet得到key的Set集合,再使用Iterator迭代器遍历
Iterator<String> iterator = keySet.iterator();
while (iterator.hasNext()) {
String key = iterator.next();
String value = maps.get(key);
System.out.println(key + ":" + value);
}
// Map遍历方法2-1: 使用entrySet()获得key-value的Set集合,然后使用foreach遍历Set即可
Set<Entry<String, String>> entrySet = maps.entrySet();
for (Entry<String, String> entry : entrySet) {
String key = entry.getKey();
String value = entry.getValue();
System.out.println(key + ":" + value);
}
// Map遍历方法2-2: 使用entrySet()获得key-value的Set集合,然后使用Iterator迭代器遍历
Iterator<Entry<String, String>> entryIt = entrySet.iterator();
while (entryIt.hasNext()) {
Map.Entry<String, String> entry = (Entry<String, String>) entryIt.next();
String key = entry.getKey();
String value = entry.getValue();
System.out.println(key + " : " + value);
}
} /**
* 遍历Set集合的方法:
* 1.使用foreach遍历
* 2.使用Iterator迭代器
* 3.将Set集合转换为List再遍历
*/
private static void testSet() {
Set<String> set = new HashSet<>();
set.add("Set111");
set.add("Set222");
set.add("Set333");
set.add("Set444"); // 2-1 使用foreach遍历
for (String value : set) {
System.out.println(value);
}
// 2-2 使用Iterator迭代器
Iterator<String> iterator = set.iterator();
while(iterator.hasNext()){
String value = iterator.next();
System.out.println(value);
}
// 2-3 将Set集合转换为List再遍历
List<String> setList = new ArrayList<>(set);//set转list
// 遍历方法 (可用list遍历方式去遍历)
for (String value : setList) {
System.out.println(value);
}
} /**
* 遍历List集合的方法:
* 1.使用for循环遍历
* 2.使用Iterator迭代器
* 3.使用foreach遍历
*/
private static void testList() {
List<String> list = new ArrayList<>();
list.add("林徽因");
list.add("陆小曼");
list.add("阮玉玲");
list.add("周璇"); // 1-1 使用for循环遍历
for (int i = 0; i < list.size(); i++) {
String value = list.get(i);
System.out.println(value);
}
// 1-2 使用Iterator循环遍历
for(Iterator<String> iterator = list.iterator();iterator.hasNext();){
String value = iterator.next();
System.out.println(value);
}
// 1-3 使用foreach遍历
for (String value : list) {
System.out.println(value);
}
} }
ListSetAndMap的更多相关文章
随机推荐
- 消息队列之ActiveMQ学习笔记(一、下载及安装)
1.访问官网地址 http://activemq.apache.org/ ,进入Download 2.选择最新版本 3.或者选择历史版本 4.下载解压后 5.然后再 bin目录下选择对应版本,双击 ...
- iOS-XMPP(转)
IM的实现原理 在我最初学习编程的时候,曾经用JAVA实现了一个最简单版的IM通讯,即通过Socket建立两台电脑之间的连接,然后发送IO流来进行即时通讯,我们现在所使用的IM软件尽管看上去非常 ...
- 动态中位数-POJ 3784
题目: 依次读入一个整数序列,每当已经读入的整数个数为奇数时,输出已读入的整数构成的序列的中位数. 输入格式 第一行输入一个整数P,代表后面数据集的个数,接下来若干行输入各个数据集. 每个数据集的第一 ...
- 字符编码笔记:ASCII,Unicode 和 UTF-8(理解)
1.ASCII 码 美国制定的字符编码规则,对英语字符与二进制位之间的关系做了统一规定. 占一个字节,8 位,最多可表示 2^8 = 256 种状态(字符) 实际共有 128 个字符,只占用一个字节的 ...
- Golang中string和[]byte的对比
golang string和[]byte的对比 为啥string和[]byte类型转换需要一定的代价? 为啥内置函数copy会有一种特殊情况copy(dst []byte, src string) i ...
- @ControllerAdvice和@ExceptionHandler
1. 使用 @ControllerAdvice和@ExceptionHandler处理全局异常 1. 新建异常信息实体类 非必要的类,主要用于包装异常信息. package com.test.exce ...
- python初学第一节课
### python的基础 推荐学习python的一些资料, 首先就是书籍<Python从入门到实践>, 这本书评分很高, 主要是对Python讲解的比较清楚, 后面还有具体的实战项目 推 ...
- 磁盘冗余列阵Raid技术知识与实践
Raid介绍 什么是Raid? Raid级别介绍 Raid 技术分类 RAID分为两类: 软RAID, 系统层面实现的,性能差. 硬RAID, 硬件层面实现的,性能好. 主板板载RAID: 功能弱 ...
- POJ2513 【并查集+欧拉路径+trie树】
题目链接:http://poj.org/problem?id=2513 Colored Sticks Time Limit: 5000MS Memory Limit: 128000K Total ...
- 服务器TIME_WAIT和CLOSE_WAIT区别及解决方案
系统上线之后,通过如下语句查看服务器时,发现有不少TIME_WAIT和CLOSE_WAIT. netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) ...