人狠话不多
/**
* @author czy
* @date 2021/11/04
**/
public class TestList {
public static void main(String[] args) {
//1.创建list接口的多态对象
List<String> list = new ArrayList<>();
//2.向创建好list集合添加元素
list.add("大娃");
list.add("二娃");
list.add("三娃");
list.add("四娃");
list.add("五娃");
list.add("六娃");
list.add("七娃");
System.out.println(list);
//3.测试集合的迭代
/**
* 四种迭代方式
* 1.for循环
* 2.高效for循环
* 3.iterator
* 4.listIterator
* */
//方式一:因为List集合是有序的,元素有下标,所以可以根据下标进行遍历
//从哪开始:0 到哪结束:list.size()-1 如何变化++
for (int i=0;i<list.size()-1;i++){
System.out.println(list);
}
System.out.println("=============================================");
//方式二:for循环效率低,语法复杂,整点高效的
//for(本轮遍历到的元素类名 元素名 : 要遍历的内容名){循环体}
for(String s : list){
System.out.println(s);
}
System.out.println("=============================================");
//方式三:从父接口中继承过来的迭代器iterator
//1.获取对应的迭代器对象
Iterator<String> it = list.iterator();
//2.通过刚刚获取到的迭代器循环迭代集合中的所有元素
while (it.hasNext()){ //判断是否仍有下一个元素可以迭代
System.out.println(it.next()); //打印当前获取到的元素
}
System.out.println("=============================================");
//方式四:listIterator
/**
* 属于list接口特有的迭代器
* Iterator<E>--父接口--hashNext() next()
* ListIterator<E>--子接口--除了父接口的功能以外
* 还有自己的特有功能,比如逆序遍历,添加元素等等,但是不常用
* public interface ListIterator<E>extends Iterator<E>
*/
ListIterator<String> it2 = list.listIterator();
while (it2.hasNext()){
System.out.println(it2.next());
}
System.out.println(list);
System.out.println("逆序遍历");
ListIterator<String> it3 = list.listIterator();
while (it3.hasNext()){
System.out.println(it3.next());
if (!it3.hasNext()){ //直到没有下一个元素可迭代了
System.out.println("开始逆序迭代");
while (it3.hasPrevious()){ //判断是否有上一个元素可迭代
System.out.println(it3.previous()); //打印获取到的上一个元素
}
break; //终止循环
}
}
}
}
得到结果:
[大娃, 二娃, 三娃, 四娃, 五娃, 六娃, 七娃]
[大娃, 二娃, 三娃, 四娃, 五娃, 六娃, 七娃]
[大娃, 二娃, 三娃, 四娃, 五娃, 六娃, 七娃]
[大娃, 二娃, 三娃, 四娃, 五娃, 六娃, 七娃]
[大娃, 二娃, 三娃, 四娃, 五娃, 六娃, 七娃]
[大娃, 二娃, 三娃, 四娃, 五娃, 六娃, 七娃]
[大娃, 二娃, 三娃, 四娃, 五娃, 六娃, 七娃]
=============================================
大娃
二娃
三娃
四娃
五娃
六娃
七娃
=============================================
大娃
二娃
三娃
四娃
五娃
六娃
七娃
=============================================
大娃
二娃
三娃
四娃
五娃
六娃
七娃
[大娃, 二娃, 三娃, 四娃, 五娃, 六娃, 七娃]
逆序遍历
大娃
二娃
三娃
四娃
五娃
六娃
七娃
开始逆序迭代
七娃
六娃
五娃
四娃
三娃
二娃
大娃
over!
本文介绍了Java中List集合的基本操作及四种不同的迭代方法:传统for循环、增强for循环、Iterator迭代器和ListIterator迭代器,并展示了每种方法的具体使用过程。

1902

被折叠的 条评论
为什么被折叠?



