Java集合类系列(3)--遍历集合


简单遍历
使用System.out的println()方法
使用System.out的println()方法来输出集合对象时,将输出[ele1,ele2,.....]



以上代码输出结果为[a, b, c]

使用Iterator接口迭代访问集合元素

不知道你们最开始接触遍历集合元素时使用的是什么方法,我最开始学习Java集合遍历的时候看的是视频教程,其中讲到遍历集合就是使用Iterator接口迭代访问集合元素的,对这种方法仍是情有独钟的。
使用Iterator接口遍历集合其实就是使用Iterator中的hasnext和next,使用hasnext来判断集合中的下一个元素是否为空,若是是空则返回false,若是元素不为空则返回true,进入循环体使用next将下一个值打印出来。
示例代码

public static void main(String[] args) {
		
		//建立list对象
		List<String> list = new ArrayList<String>();
		
		//添加数据
		list.add("张三");
		list.add("李四");
		list.add("王二");
		list.add("麻子");
	//使用Iterator遍历集合元素
		
		Iterator<String> iterator = list.iterator();
		
		while (iterator.hasNext()) {
			
			System.out.println(iterator.next());
			
		}

这段代码是以list为准进行Iterator迭代输出,一样对于Set和Map同样是可使用Iterator进行迭代输出遍历集合元素,使用Iterator进行迭代输出集合元素的关键就是将原有集合转化成Iterator,由于咱们最终是要使用hasnext和next进行输出的,只有将原有集合元素进行Iterator转化,咱们才能进行hasnext和next的调用,掌握这一点也就掌握了Iterator遍历集合的方法。
另外java8为Iterator新增了一个forEachRemaining方法,咱们经过这个方法可使用Lambda表达式来遍历Iterator,示例以下
public static void main(String[] args) {
		
		//建立list对象
		List<String> list = new ArrayList<String>();
		
		//添加数据
		list.add("张三");
		list.add("李四");
		list.add("王二");
		list.add("麻子");
	//使用Iterator遍历集合元素
		
		Iterator<String> iterator = list.iterator();
		
		iterator.forEachRemaining((String name)->System.out.println(name));


咱们能够看到,相比较上一个代码中,红色代码是主要的修改代码,这就是使用Lambda表达式来遍历Iterator。

使用foreach循环遍历集合元素

在上面咱们那能够看到使用Iterator的forEachRemaining方法对集合进行遍历一行代码就能够搞定,相比较使用hasnext和next更加简洁方便,可是你们可能对Lambda表达式不太熟悉,那么咱们可使用foreach来循环遍历集合元素。
foreach是Java5的特性,感受这个方法遍历集合元素真是很简单,话很少的说,让咱们来看下如何使用的吧!

public static void main(String[] args) {
		
		//建立list对象
		List<String> list = new ArrayList<String>();
		
		//添加数据
		list.add("张三");
		list.add("李四");
		list.add("王二");
		list.add("麻子");
	//使用foreach遍历集合元素
		
		for (String string : list) {
			System.out.println(string);
		}


这就是foreach遍历集合元素,看起来都很简洁,不妨多尝试一下这样的方法。这段代码什么意思呢?foreach的使用就是使用for(),括号里面是A a:b的形式,b通常就是指的你的集合对象,好比你建立了一个LIst对象,List<String> list = new ArrayList<>(); 那么这个b就是list,前面的A通常就是指的你集合里面的元素类型,而a就是咱们要打印的元素的一个变量,把集合里的每个值赋值给a而后逐个打印输出。


使用Lambda表达式遍历集合

对于简单遍历输出结果通常是[a,b]这种形式,彷佛用到的不是太多,咱们还可使用Lambda表达式进行集合的遍历,在讲遍历以前让咱们来先简单认识一下Lambda表达式吧!

Lambda表达式

在最开始接触lambda表达式的时候是一头雾水,说白了就是感受看不懂,不知道怎么使用,lambda表达式是Java8新增的一个特性,简单来讲是能够将一些复杂的代码简洁化,我以为关于lambda表达式这块能够进行专题学习,否则不能都透彻理解它,由于今天主要讲的仍是Java集合,其中要使用lambda表达式,所以只作简单介绍。
在我看来lambda最简单的一个形式就是 () -> a,什么意思呢?咱们再稍微详细的说一下,咱们看以下:
1. () -> 5 这表明lambda表达式不须要参数,返回值为5
2. x -> x*3 这表明lambda表达式须要接受一个参数,而后返回这个参数的二倍。
3. (a,b) -> a+b 这表明lambda表达式须要接受两个参数,而后返回这两个参数的和。
等。
相信看到这里咱们对lambda表达式彷佛有那么点明白了,可是仍是有点模糊,别急,咱们再继续往下看,咱们来举个例子
public static void main(String[] args) {
		
		//建立list对象
		List<String> list = new ArrayList<String>();
		
		//添加数据
		list.add("张三");
		list.add("李四");
		list.add("王二");
		list.add("麻子");
		
	//使用Lambda表达式遍历集合元素
		
		list.forEach((String name)->System.out.println(name));


使用Lambda表达式遍历集合用到了一个foreach默认方法。关于Lambda的学习还能够继续深刻,以专题形式进行学习,私下应尽量找资料自主学习,后续也会单独写一篇有关Lambda表达式的文章!
好了,以上就是一些简单的遍历集合元素的方法了!
相关文章
相关标签/搜索