一、简介
实际项目中,通常会用到循环遍历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 wangwu
System.out.println(list.get(i));
}
/**
* 方法二: 使用增强for循环
*/
for (String string : list) {
//zhangsan lisi wangwu
System.out.println(string);
}
/**
* 方法三: 使用Iterator方法
*/
Iterator<String> iterator = list.iterator();
while (iterator.hasNext()) {
String next = iterator.next();
//zhangsan lisi wangwu
System.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=====>20
System.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=====>20
System.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=====>20
System.out.println(key + "=====>" + value);
}
for (Iterator i = values.iterator(); i.hasNext();) {
String s = (String) i.next();
// 循环输出value
// male
// zhangsan
// 20
System.out.println(s);
}
/**
* 方法四: 使用hashMap.keySet()/forEach 遍历
*/
for (String key : hashMap.keySet()) {
String value = (String) hashMap.get(key);
// sex=====>male
// name=====>zhangsan
// age=====>20
System.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 wangwu
System.out.println(next);
}
for (Iterator iterator1 = hashSet.iterator(); iterator1.hasNext(); ) {
//返回当前游标对应的元素,并把游标移向下一个元素
String next = (String) iterator1.next();
//lisi zhangsan wangwu
System.out.println(next);
}
/**
* 方法二: 使用增强for循环
*/
for (String string : hashSet) {
//lisi zhangsan wangwu
System.out.println(string);
}
}
}
五、总结
以上是关于Java中常用集合List、Map、Set遍历方法的讲解,这只是作者的一些总结,仅供大家参考学习,希望对大家有所帮助,一起学习,一起进步。