zoukankan      html  css  js  c++  java
  • java遍历List的多种方法

    java遍历List的多种方法【多种多种,很多种,小编就比较喜欢jdk8以上的遍历方式:test9();test8();test6();都非常好用】

      

    package com.gzu.pyu.thinking.in.java;
    
    import org.junit.jupiter.api.Test;
    
    import java.util.Iterator;
    import java.util.LinkedList;
    import java.util.List;
    import java.util.ListIterator;
    import java.util.function.Consumer;
    
    /**
     * java遍历List的多种方法
     * 分为类
     * 1、普通的循环遍历
     * 2、jdk8以上的新特性
    * 3、注意需要引入Test包,junit测试【若不想Junit测试,写main方法测试是相同的效果】 * *
    @author pyu */ public class TraverseList { /** * 初始化一个有值的List * 使用LinkedList维护一个插入顺序,方便观察遍历时的顺序 */ private static List<String> traverseList=new LinkedList<String>(){{ add("gzu "); add("pyu "); add("thinking "); add("in "); add("java "); }}; /** * ********************************************* * 以下为jdk8及以上的遍历方式 */ /** * 非常特殊的用法,与traverseList.iterator()方法类似,更强大;只有List借口特有用法 */ @Test public void test9(){ System.out.print("TraverseList method9:"); ListIterator<String> listIterator = traverseList.listIterator(); while (listIterator.hasNext()){ System.out.print(listIterator.next()); } System.out.println(); } @Test public void test8(){ System.out.print("TraverseList method8:"); traverseList.forEach(str->{ System.out.print(str); }); System.out.println(); } @Test public void test7(){ System.out.print("TraverseList method7:"); traverseList.forEach(new Consumer<String>() { @Override public void accept(String str) { System.out.print(str); } }); System.out.println(); } /** * 多线程并行执行 */ @Test public void test6(){ System.out.print("TraverseList method6:"); traverseList.parallelStream().forEach(str->{ System.out.print(str); }); System.out.println(); } /** * 串行执行 */ @Test public void test5(){ System.out.print("TraverseList method5:"); traverseList.stream().forEach(str->{ System.out.print(str); }); System.out.println(); } /** * ********************************************* * 以下为java常规遍历List的方式 * 1.优先选择foreach * 2.遍历List的同时要移除元素推荐使用iterator */ @Test public void test4(){ System.out.print("TraverseList method4:"); Iterator<String> iterator = traverseList.iterator(); while (iterator.hasNext()){ System.out.print(iterator.next()); } System.out.println(); } @Test public void test3() { System.out.print("TraverseList method3:"); for (Iterator<String> iterator = traverseList.iterator();iterator.hasNext();) { System.out.print(iterator.next()); } System.out.println(); } @Test public void test2() { System.out.print("TraverseList method2:"); for (String str:traverseList) { System.out.print(str); } System.out.println(); } @Test public void test1() { System.out.print("TraverseList method1:"); for (int i = 0; i < traverseList.size(); i++) { System.out.print(traverseList.get(i)); } System.out.println(); } }

    以上测试代码执行结果如下:

  • 相关阅读:
    Serialize and Deserialize Binary Tree
    sliding window substring problem汇总贴
    10. Regular Expression Matching
    《深入理解计算机系统》(CSAPP)读书笔记 —— 第七章 链接
    程序员如何写一份合格的简历?(附简历模版)
    9个提高代码运行效率的小技巧你知道几个?
    《深入理解计算机系统》(CSAPP)读书笔记 —— 第六章 存储器层次结构
    24张图7000字详解计算机中的高速缓存
    《深入理解计算机系统》(CSAPP)实验四 —— Attack Lab
    《深入理解计算机系统》(CSAPP)读书笔记 —— 第五章 优化程序性能
  • 原文地址:https://www.cnblogs.com/gzu-link-pyu/p/8859647.html
Copyright © 2011-2022 走看看