Collection集合的遍历方式
Collection集合的遍历方式是全部集合都可以直接使用的
Collection集合的遍历方式有三种:
(1)迭代器。
(2)foreach(增强for循环)。
(3)Lambda表达式(JDK 1.8开始之后)
(1)、Collection集合的遍历–迭代器遍历集合
方法:public Iterator iterator()
方法的作用:获取集合对应的迭代器,用来遍历集合中的元素的
E next():获取下一个元素值!
boolean hasNext():判断是否有下一个元素,有返回true ,反之。
流程:
1.获取当前集合的迭代器
Iterator it = lists.iterator();
2.定义一个while循环,问一次取一次。
通过it.hasNext()询问是否有下一个元素,有就通过
it.next()取出下一个元素。
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;public class CollectionDemo01 {public static void main(String[] args) {Collection<String> lists = new ArrayList<>();lists.add("赵敏");lists.add("小昭");lists.add("殷素素");lists.add("周芷若");System.out.println(lists);//[赵敏, 小昭, 殷素素, 周芷若]//1、得到集合的迭代器对象Iterator<String> it = lists.iterator();
// System.out.println(it.next());//赵敏
// System.out.println(it.next());//小昭
// System.out.println(it.next());//殷素素
// System.out.println(it.next());//周芷若//System.out.println(it.next());//NoSuchElementException//2.使用while循环遍历while (it.hasNext()){String ele = it.next();System.out.println(ele);}}
}
(2)、Collection集合的遍历–foreach
foreach:增强for循环遍历集合。
foreach是一种遍历形式,可以遍历集合或者数组。
foreach遍历集合实际上是迭代器遍历的简化写法。
foreach格式:
for(被遍历集合或者数组中元素的类型 变量名称 : 被遍历集合或者数组){
}
缺点:foreach遍历无法知道遍历到了哪个元素了,因为没有索引。
package _01Collection集合的遍历方式;
import java.util.ArrayList;
import java.util.Collection;public class CollectionDemo02 {public static void main(String[] args) {Collection<String> lists = new ArrayList<>();lists.add("赵敏");lists.add("小昭");lists.add("殷素素");lists.add("周芷若");for (String ele:lists) {System.out.println(ele);}int[] ages = new int[]{17, 18, 38, 21};for (int age:ages){System.out.println(age);}}
}
(3)、Collection集合的遍历–Lambda表达式
package _01Collection集合的遍历方式;
import java.util.ArrayList;
import java.util.Collection;public class CollectionDemo02 {public static void main(String[] args) {Collection<String> lists = new ArrayList<>();lists.add("赵敏");lists.add("小昭");lists.add("殷素素");lists.add("周芷若");for (String ele:lists) {System.out.println(ele);}int[] ages = new int[]{17, 18, 38, 21};for (int age:ages){System.out.println(age);}}
}
(3)、Collection集合的遍历–Lambda表达式
import java.util.ArrayList;
import java.util.Collection;public class CollectionDemo03 {public static void main(String[] args) {Collection<String> lists = new ArrayList<>();lists.add("赵敏");lists.add("小昭");lists.add("殷素素");lists.add("周芷若");//跟forEach遍历类似lists.forEach(s -> {System.out.println(s);});//等价于下面的
// lists.forEach(s -> System.out.println(s));
// lists.forEach(System.out::println);}
}