List集合五种遍历方式

List集合五种遍历方式

1、Iterator接口 —— java集合中一员

(1)包:java.util.Iterator

(2)功能:主要用于迭代访问(遍历)Collection中的元素

Iterator对象称为迭代器

(3)方法:

public E next():返回迭代的下一个元素。

public boolean hasNext():如果仍有元素可以迭代,则返回true

2、普通for循环遍历(类似于数组遍历)

3、增强for

​ 增强for循环(也称for each循环)是JDK1.5以后出来的一个高级for循环,专门用来遍历数组和集合的。

​ 它的内部原理其实是个Iterator迭代器,所以在遍历的过程中,不能对集合中的元素进行增删操作。

4、List集合自有迭代器

List 集合额外提供了一个 listIterator()方法,该方法返回一个 ListIterator对象, ListIterator接口继承了 Iterator接口

ListIterator<E> listIterator(int index)返回列表中元素的列表迭代器(按适当顺序),从列表的指定位置开始。指定的索引表示 next 的初始调用所返回的第一个元素。previous 方法的初始调用将返回索引比指定索引少 1 的元素。

​ 参数index-- 从列表迭代器返回的第一个元素的索引(通过调用 next 方法)

5、Lambda

​ Lambda表达式是Java SE 8中一个重要的新特性。lambda表达式允许你通过表达式来代替功能接口。 lambda`表达式就和方法一样,它提供了一个正常的参数列表和一个使用这些参数的主体(body,可以是一个表达式或一个代码块)。

格式:

(parameters) -> expression(parameters) ->{ statements; }

		//使用多态方式创建对象
		List<String> list = new ArrayList<>();
		//添加元素到集合
		list.add("派大星");
		list.add("海绵宝宝");
		list.add("章鱼哥");
		list.add("蟹老板");
		
		//输出集合看一下
		System.out.println(list);
		
		//1、使用Iterator接口遍历
		Iterator<String> it = list.iterator();
		while(it.hasNext()){//判断是否有迭代元素
			System.out.println(it.next());//输出迭代出的元素
		}
		
		System.out.println("=============================");
		
		//2、普通for循环遍历
		for(int i = 0; i < list.size(); i++){
			//通过get方法传递索引获取集合元素
			System.out.println(list.get(i));
		}
		System.out.println("=============================");
		
		//3、增强for
		for(String a : list){
			System.out.println(a);
		}
		
		System.out.println("=============================");
		
		//4、List集合自带迭代器
		ListIterator<String> listli = list.listIterator();
		while(listli.hasNext()){
			System.out.println(listli.next());
		}
		
		System.out.println("=============================");
		
		//5、Lambda
		list.forEach(
				item -> System.out.println(item)
				);
		
posted @ 2020-08-06 15:05  iris!  阅读(10506)  评论(0编辑  收藏  举报