遍历的概念:
遍历输出就是讲一个数组或者集合通过指针遍历后显示出来。
举个例子:数组的输出
for(int i = 0; i < a.length ; i++){
System.out.print(a[i] + " ");
}
这就是遍历,就是把数组或者集合中的元素一个一个的往外打印输出。
遍历的方式:
常见的for循环遍历:
import java.util.ArrayList;
import org.junit.Test;
public class for循环遍历 {
@Test
public void test1() {
ArrayLists = new ArrayList<>();
s.add("好好学习");
s.add("天天向上");
s.add("快乐学习每一天");
for (int i = 0; i < s.size(); i++) {
System.out.println(s.get(i));//get(i)的作用就是一个个遍历
}
}
}
输出:
for循环增强型遍历:
增强型for是把String字符型的s中的元素依次赋给ss。
import java.util.ArrayList;
import org.junit.Test;
public class for循环遍历 {
@Test
public void test1() {
ArrayLists = new ArrayList<>();
s.add("好好学习");
s.add("天天向上");
s.add("快乐学习每一天");
for (String ss:s) {
System.out.println(ss);
}
}
}
输出:
迭代Interator遍历:
迭代器的使用只能在集合中使用
hasNext()是判断是否有下一个元素
next() 得到下一个元素
import java.util.ArrayList;
import java.util.Iterator;
import org.junit.Test;
public class for循环遍历 {
@Test
public void test1() {
ArrayLists = new ArrayList<>();
s.add("好好学习");
s.add("天天向上");
s.add("快乐学习每一天");
Iteratoriter = s.iterator();
while(iter.hasNext()) {
System.out.println(iter.next());
}
}
}
输出示例:
遍历的类型:
List与Set类型集合的遍历
import java.util.ArrayList;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Set;
public class ListMap {
public static void main(String[] args) {
// Set集合的遍历
setTest();
// List集合的遍历
listTest();
}
// 遍历Set集合
private static void setTest() {
Setset = new HashSet();
set.add("仙剑奇侠传");
set.add("男一胡 歌");
set.add("女一刘亦菲");
set.add("男二彭于晏");
set.add("女二安以轩");
// for循环增强型遍历set集合
for (String s : set) {
System.out.println(s);
}
// iterator遍历set集合
Iteratoriter = set.iterator();
while (iter.hasNext()) {
System.out.println(iter.next());
}
}
// 遍历list集合
private static void listTest() {
Listlist = new ArrayList();
list.add("仙剑奇侠传三");
list.add("胡 歌");
list.add("杨 幂");
list.add("霍建华");
list.add("刘诗诗");
list.add("唐 嫣");
//for循环遍历
for (int i = 0;i < list.size(); i++) {
System.out.println(list.get(i));
}
//for增强型循环进行遍历
for (String value : list) {
System.out.println(value);
}
//iterator遍历
Iteratorit = list.iterator();
while (it.hasNext()) {
System.out.println(it.next());
}
}
}
输出结果:
仙剑奇侠传
男一胡 歌
男二彭于晏
女二安以轩
女一刘亦菲
仙剑奇侠传
男一胡 歌
男二彭于晏
女二安以轩
女一刘亦菲
仙剑奇侠传三
胡 歌
杨 幂
霍建华
刘诗诗
唐 嫣
仙剑奇侠传三
胡 歌
杨 幂
霍建华
刘诗诗
唐 嫣
仙剑奇侠传三
胡 歌
杨 幂
霍建华
刘诗诗
唐 嫣
Map类型集合的遍历
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import org.junit.Test;
public class Main {
@Test
public void test() {
HashMapmap = new HashMap();
map.put("仙剑奇侠传", "三");
map.put("景 天", "胡 歌");
map.put("徐长卿", "霍建华");
map.put("唐雪见", "杨 幂");
map.put("紫 萱", "唐 嫣");
//增强的for循环(entry集合)
for (Map.Entryentry : map.entrySet()) {
System.out.println(entry.getKey() +" "+ entry.getValue());
}
//增强的for循环(key集合)
for (String key : map.keySet()) {
System.out.println( key +" "+ map.get(key));
}
// 第三种:Iterator迭代器
Iterator> iter = map.entrySet().iterator();
while (iter.hasNext()) {
Map.Entryentry = iter.next();
System.out.println(entry.getKey() + " " + entry.getValue());
}
}
}
输出:
仙剑奇侠传 三
景 天 胡 歌
唐雪见 杨 幂
徐长卿 霍建华
紫 萱 唐 嫣
仙剑奇侠传 三
景 天 胡 歌
唐雪见 杨 幂
徐长卿 霍建华
紫 萱 唐 嫣
仙剑奇侠传 三
景 天 胡 歌
唐雪见 杨 幂
徐长卿 霍建华
紫 萱 唐 嫣