1. 程式人生 > >對資料遍歷的三種方式之foreach 、for與Iterator

對資料遍歷的三種方式之foreach 、for與Iterator

對資料的遍歷方式有三種:for迴圈遍歷、增強for迴圈遍歷、Iterator迭代器遍歷。這三種遍歷方式有他們自身使用的範圍。

增強for迴圈

增強for迴圈是JDK1.5版本後出來的一個高階for迴圈,是用來專門遍歷陣列和集合的。內部原理其實是一個迭代器遍歷也就是我們常說的foreach遍歷。

 格式:

for(元素的資料型別變數集合or陣列)

  應用一: 

    利用常用的for迴圈遍歷陣列

    //利用傳統方式進行遍歷
    int[] arr={1,2,3,4,5};
    for (int i = 0; i < arr.length; i++) {
	System.out.println(i);
    }
      有了增強for迴圈後,方便了我們進行遍歷           
    int[] arr = new int[]{11,22,33};
    for (int n : arr) {//變數n代表被遍歷到的陣列元素
	    System.out.println(n);
    }

for (int n : arr)   //變數n代表被遍歷到的陣列元素,型別是int 變數型別可以是n也可以是自己定義的任意變數名
    原理:我們是將陣列中的元素給了n,然後對n進行輸出。

增強for迴圈和for迴圈的區別:
1.增強for迴圈只能遍歷集合和陣列,for迴圈最基本的遍歷方式,除了集合和陣列也可以用於其他遍歷
  2.如果僅僅是想要遍歷集合或陣列用增強for迴圈比較好
  3. 增強for迴圈是不能對角標進行操作,而for迴圈可以

Iterator和增強for迴圈

foreach對於集合的遍歷 

遍歷集合
Collection<String> coll = new ArrayList<String>();
coll.add("itcast1");
coll.add("itcast2");
coll.add("itcast3");
coll.add("itcast4");
for(String str : coll){//變數Str代表被遍歷到的集合元素
System.out.println(str);
}

迭代器對於集合的遍歷

Iterator it = list.iterator();
while(it.hasNext()){
   //需要列印每個字串的長度,就要把迭代出來的物件轉成String型別
   String str = it.next();   
}

  iterator迭代器實際上就是一個指標,初始位置指向第一個元素之前的一個位置,遍歷結束後指向最後元素之後的位置。

總結:迭代器和foreach迴圈是集合遍歷的兩種方式,以後會常用,我們對資料庫進行操作的時候,經常把查詢出來

的多條資料封裝成集合實體,然後在介面顯示的時候進行遍歷

相關推薦

資料方式foreach forIterator

對資料的遍歷方式有三種:for迴圈遍歷、增強for迴圈遍歷、Iterator迭代器遍歷。這三種遍歷方式有他們自身使用的範圍。 增強for迴圈 增強for迴圈是JDK1.5版本後出來的一個高階for

opencv學習(五)畫素方式耗時分析

前面用兩篇介紹了畫素的顏色空間縮減、查詢表、遍歷畫素的三種方式、程式計時等,也說了一下每種方法的優缺點,現在用一個綜合型的程式進行對比。方式是用三種方式對lena影象(220x220)進行處理,使其顏色種類從256中變成64種。在顏色空間縮減方法中講過這種方式,

hive安裝過程:metastore(元資料儲存)的方式本地mysql方式

Hive版本:apache-hive-1.2.1 Hadoop版本:hadoop-2.5.1 Hive中metastore(元資料儲存)的三種方式:    a)本地Derby方式    b)本地mysql方式    c)Remote方式 2、解壓

tensorflow載入資料方式 TF生成資料的方法

Tensorflow資料讀取有三種方式: Preloaded data: 預載入資料 Feeding: Python產生資料,再把資料餵給後端。 Reading from file: 從檔案中直接讀取 具體可以參考:極客學院的資料讀取 這裡介紹下:

HTML HTMLCollection象訪問的方式

HTML HTMLCollection對例: <form action="" name="lee"> <input type="text"> </form> 通過getElementsByTagName: var form = document.getElemen

List方法:1.for 2.增強性for 3.叠代器

arr ast pub next() ati i++ 元素 叠代 port package chapter09; import java.util.ArrayList;import java.util.Iterator;import java.util.List; /* *

JS資料交換的方式

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <script> //第一個思

二叉樹方式

數結構 public class TreeNode { public TreeNode left; public TreeNode right; int val; ... } 先序(遞迴) public void preOrder(TreeNode root){

Mysql 刪除資料表的方式

刪除程度可從強到弱如下排列: 1.  drop table tb;     drop 是直接將表格刪除,無法找回。例如刪除 user 表: drop table user; 2.  truncate (table) tb;     truncate 是刪除表中所有資

50多執行緒建立的方式實現Runnable介面

實現Runnable介面建立執行緒 使用Runnable建立執行緒步驟: package com.sutaoyu.Thread; //1.自定義一個類實現java.lang包下的Runnable介面 class MyRunnable implements Runnable{ /

TensorFlow基礎3:資料讀取的方式

‘在講述在TensorFlow上的資料讀取方式之前,有必要了解一下TensorFlow的系統架構,如下圖所示: TensorFlow的系統架構分為兩個部分: 前端系統:提供程式設計模型,負責構造計算圖; 後端系統:提供執行時環境,負責執行計算圖。

方式比較

package main import ( "fmt" ) // make func main() { list := []int{0, 1, 2, 3} list = Test(list) fmt.Println(list) list1 := []int{0,

HIve中分割槽資料關聯的方式

之前的分割槽表都是先建立表然後載入資料到分割槽表中,然後就會在HDFS自動建立相關的目錄儲存資料,但是這裡反過來做,先在HDFS中建立相應的目錄,然後把資料直接上傳到這個目錄下,具體如下所示 先在HDFS中建立存放資料的目錄 dfs -mkdir -p /user/hiv

Struts2資料處理的方式(ioc思想)

ioc思想(控制反轉,注入),資料不需要手動獲取,型別也不需要手動轉換(數字直接給你轉成int,日期符合格式會給你轉成日期格式...)。 一、屬性驅動: 使用 struts2獲取表單資料:只需表單域名稱和 Action處理類的屬性名稱一致,並且提供屬性的set方法,那麼在 Action處理類

實現多執行緒的第方式Callable

中說過,實現多執行緒有兩種方式:一種是繼承Thread類,另一種是實現Runnable介面。這兩種方式中真正起作用的是run方法,不過run方法並沒有返回值。如果我們希望任務在完成時能夠有返回值,這時就

啟動執行緒的第方式Callable

java中第三種啟動執行緒的方式是實現Callable介面package com.lyzx.juc; import java.util.concurrent.Callable; import java.util.concurrent.ExecutionException;

Map集合方式區別和效能

Map<String,String> map = new HashMap<String,String>();map.put("01", "zhangsan");map.put("02", "lisi");map.put("03", "wangwu");Collection<Str

Android使用者登入資料儲存的方式

登入的頁面: 佈局程式碼: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"     xmlns:tools="http://schemas.android.co

Hive總結(二)Hive資料匯入的方式

零.Hive的幾種常見的資料匯入方式 常用的的有三種: 1.從本地檔案系統中匯入資料到Hive表; 2.從HDFS上匯入資料到Hive表; 3.在建立表的時候通過從別的表中查詢出相應的記錄並插入到所建立的表中。 Hive配置: HDFS中Hive資料

unity物體移動方式——Transform.Translate

  在unity中,經常遇到的一個問題就是物體移動的問題,Unity引擎給出了很多種解決方案,這裡先給大家介紹一種——Transform.Translate函式。   在Unity中這是最