list的幾種遍歷方式及其效率,ArrayList和LinkedList的結構
話不多說,上程式碼:
@Test public void testListSeq(){ List<String> list = new ArrayList<String>(); // List<String> list = new LinkedList<String>(); List<String> list1 = new LinkedList<String>(); int a = 10000; int b = 1000; int c = 10; // int res = a*c; // int res = c*b; int res = a*b; int e = 0 ; while (e<res){ e++; list.add(e+""); list1.add(e+""); } //普通遍歷list 需要每次計算list長度 遍歷次數較多時,效率最低;list為linkedList ,遍歷次數較多時,效率極低 for(int i = 0 ;i < list.size();i++){ System.out.println(list.get(i)); } //提取list長度,list為arrayList 遍歷次數較多時,效率最高;list為linkedList ,遍歷次數較多時,效率極低 int n = list.size(); for(int i = 0 ;i < n;i++){ System.out.println(list.get(i)); } //for each 遍歷 jdk版本5及以上 遍歷次數較多時,效率較低,只比不提取長度的普通遍歷高。 遍歷次數較少(十萬以內)時,效率較高。 //;list為linkedList ,遍歷次數較多時,效率極高。 for(Object s : list){ System.out.println(s+""); } //使用迭代器iterator 遍歷次數較多時,效率較高 僅次於提取list長度的普通遍歷;list為linkedList ,遍歷次數較多時,效率極高和foreach基本相同 Iterator<String> iterator = list.iterator(); while(iterator.hasNext()){ System.out.println(iterator.next()); } //綜上所述,在使用迴圈時優先考慮iterator和for each 方式。 list.clear(); list.add("1"); list.add("2"); list.add("3"); list.add("4"); list.add("5"); list.add("6"); list1.clear(); list1.add("1"); list1.add("2"); list1.add("10"); list1.add("4"); list1.add("5"); list1.add("6"); System.out.println(list.get(2)+"--------------"); System.out.println(list1.get(2)+"--------------"); //刪除list中的前五個元素 for(int i = 0 ;i < 5;i++){ list.remove(0); list1.remove(0); } //列印最開始的元素,從這可以看出,arrayList是一個佇列結構。先進先出。他存在放入順序。 //linkedList 在表現上也可以看做是個佇列,實際是個連結串列結構構成的鏈狀結構。如果你需要的只是個佇列,建議用ArrayList System.out.println(list.get(0)+"--------------"); System.out.println(list1.get(0)+"--------------"); }
相關推薦
list的幾種遍歷方式及其效率,ArrayList和LinkedList的結構
話不多說,上程式碼: @Test public void testListSeq(){ List<String> list = new ArrayList<String>(); // List<String> list = ne
Java基礎及提高 之 陣列,List,Set,Map的幾種遍歷方式
一,陣列的遍歷方式 陣列有兩種遍歷方式: public class ArrayXunhuan { public static void main(String[] args) { int[
Map集合和List集合的幾種遍歷方式
++++++++++++++++++++++List集合遍歷++++++++++++++++++++++++++++++++++++++++++++++publicstaticvoid main(Str
SQL Server中幾種遍歷方式比較
不同 .com font size 常用 分享 分享圖片 遊標 inf SQL遍歷解析 在SQL的存儲過程,函數中,經常需要使用遍歷(遍歷table),其中遊標、臨時表等遍歷方法很常用。面對小數據量,這幾種遍歷方法均可行,但是面臨大數據量時,就需要擇優選擇,不同的遍歷方
二叉樹幾種遍歷方式之間的轉換
寫在前面 二叉樹的遍歷方式,基本可以歸結為四種:前序遍歷、中序遍歷、後序遍歷、層次遍歷 先序遍歷順序:根,左兒子,右兒子 中序遍歷順序:左兒子,根,右兒子 後序遍歷順序:左兒子,右兒子,根 層次遍歷順序:根據每一層的順序,由左向右依次輸出 遍歷順序及轉換 &n
圖的幾種遍歷方式
1.圖的遍歷方式大概也就兩種吧,DFS和BFS。但是有不同的實現方式,上次聽說我在遞迴轉非遞迴演算法中實現了二叉樹的遞迴轉非遞迴,然後有人說那圖的呢?其實圖的DFS轉成非遞迴還要簡單一些。 2.首先是BFS,BFS其實很簡單了。使用佇列來儲存與當前節點相鄰的所有節點,然後用這些節點作為基礎繼續拓
【Java】整理樹的幾種遍歷方式總結
http://www.cnblogs.com/developerY/p/3323264.html BFS和DFS詳解以及java實現 http://sunlujing.iteye.com/blog/1876540 http://www.cnblogs.com/dolphin
Map集合例項練習三--HashMap與arrayList的幾種遍歷方式,重點!請一定要掌握熟練
本章節是基於例項練習一與練習二的練習例項: 以下是string的常用判斷,在實際開發中,經常使用到。 1 isNotEmpty(str)等價於 str != null && str.length > 0 2 isNotBlank(str) 等
JS幾種遍歷方式比較
數組 不能 left fff 支持 clas ffffff padding for in 幾種遍歷方式比較 for of 循環不僅支持數組、大多數偽數組對象,也支持字符串遍歷,此外還支持 Map 和 Set 對象遍歷。 for in 循環可以遍歷字符串、
二叉樹的幾種遍歷方式
package com.sys.binarytreetest.binary; import java.security.Principal; import java.util.ArrayList; import java.util.HashMap; import java.
樹的幾種遍歷方式(遞迴/非遞迴)
樹的幾種遍歷方式,前序遍歷,中序遍歷,後序遍歷,包括它的遞迴實現以及非遞迴實現 #include<stdio.h> #include<stdlib.h> typedef struct tree { int data;
Map集合的幾種遍歷方式
import java.util.HashMap; 2 import java.util.Iterator; 3 import java.util.Map; 4 5 public class TestMap { 6 public static void
std::vector的幾種遍歷方式比較
std::vector是我在標準庫中實用最頻繁的容器。總結一下在遍歷和建立vector時需要注意的一些地方。 在不考慮執行緒安全問題的前提下,在C++11中有五種遍歷方式。 方式一 for (size_t i =0; i < vec.size(); i
jquery常用的幾種遍歷方式
1、找class為 otherIdentifier 下 class為form-control 的input 如果input 值為空 則 disable $(document).ready(function(){ $(".otherIdentifier").find(
Java中List集合的遍歷(三種遍歷方式效率的比較)
public static void main(String args[]){ compare(); } public static void compare() { List<String> list = new ArrayList
Map的幾種遍歷取值方式
今天心情不好,上午花了一點時間來寫Demo,到網上逛了逛,也算整理了一下基礎知識,未來的路還有很長,這樣的Demo也會有很多。 import org.junit.Test; import java.util.*; public class test { @Test publ
java的list幾種實現方式的效率(ArrayList、LinkedList、Vector、Stack),以及 java時間戳的三種獲取方式比較
一、list簡介 List列表類,順序儲存任何物件(順序不變),可重複。 List是繼承於Collection的介面,不能例項化。例項化可以用: ArrayList(實現動態陣列),查詢快(隨
使用泛型後的List集合型別的三種遍歷方式
我們常用的集合型別有三種基本型別:List,Set和Map型別,其中運用泛型過後的這三種類型當中,List有三種遍歷方式,Set和Map有兩種遍歷方式,而List這三種方式當中包含了Set和Map的另外兩種遍歷方式,因此我們以List為例. 遍歷泛型List集合的三種方法包
List的三種遍歷方式
package test1;import java.util.ArrayList;import java.util.HashMap;import java.util.Iterator;import java.util.List;import java.util.Map;pub
HashMap 4種迴圈遍歷方式及其效能對比
主要介紹HashMap的四種迴圈遍歷方式,各種方式的效能測試對比,根據HashMap的原始碼實現分析效能結果,總結結論。 1. Map的四種遍歷方式 下面只是簡單介紹各種遍歷示例(以HashMap為例),各自優劣會在本文後面進行分析給出結論。 (1) for each