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(); } }

 

以上測試代碼執行結果如下:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM