日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Java——集合的遍历之迭代遍历

發布時間:2023/12/1 java 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java——集合的遍历之迭代遍历 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
這些是下面的代碼中所涉及到的所有方法:* 迭代概述:* 集合是用來存儲元素,存儲的元素需要查看,那么就需要迭代(遍歷)* 也就是說,迭代就是遍歷* * public interface Iterator<E> 對 collection 進行迭代的迭代器* Iterator<E> iterator()返回在此 collection 的元素上進行迭代的迭代器* java.util 接口 Iterator<E>* * boolean hasNext()如果仍有元素可以迭代,則返回 true* * E next()返回迭代的下一個元素* * void remove() 從迭代器指向的 collection 中移除迭代器返回的最后一個元素(可選操作) package com.wsq.bean; //創建一個自定義Student類 public class Student {private String name;private int age;public Student() {super();}public Student(String name, int age) {super();this.name = name;this.age = age;}public String getName() {return name;}public void setNaem(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}@Overridepublic String toString() { //這里得重寫toString方法return "Student [naem=" + name + ", age=" + age + "]";}} package com.wsq.collection;import java.util.ArrayList; import java.util.Collection; import java.util.Iterator; import com.wsq.bean.Student; public class Demo5_Iterator {public static void main(String[] args) {demo1(); //迭代已經提供好的String類對象demo2(); //迭代一個自定義對象,自己創建類,然后創建對象存儲集合里,然后迭代 }private static void demo2() {Collection c = new ArrayList(); //創建集合cc.add(new Student("張三",23)); //向集合c里面添加Student類對象即new Student("張三",23)c.add(new Student("李四",24)); //object obj = new Student("李四",24); 父類引用指向子類對象c.add(new Student("王五",25)); //由于多態的弊端導致obj不能調用子類特有的屬性和行為c.add(new Student("趙六",26));Iterator it = c.iterator(); //獲取迭代器,迭代的時候,獲取到的都是Object類型while(it.hasNext()){ //boolean hasNext()如果仍有元素可以迭代,則返回 true,進行循環判斷集合是否還含有元素//System.out.println(it.hasNext()); //調用它的toString方法Student s = (Student)it.next(); //向下轉型,由Object類向下轉型成為Student類//當把Student對象給添加進來的時候,會進行一個類型的提升Student對象變成了Object類System.out.println(s.getName() + "..." + s.getAge()); //通過s就可以調用它的getName和getAge方法} }public static void demo1(){ //迭代已經提供好的String類對象Collection c = new ArrayList(); //創建集合cc.add("a"); //向集合c添加元素c.add("b");c.add("c");c.add("d");//對集合中的元素迭代(遍歷)Iterator it = c.iterator(); //獲取迭代器;獲取迭代器之后,就可以使用迭代器里面的方法/*boolean b1 = it.hasNext(); //判斷集合中是否有元素,有就返回trueObject obj1 = it.next(); //E next()返回迭代的下一個元素,通過next方法將那個元素給獲取出來System.out.println(b1); //很顯然,集合c中有4個元素,a,b,c,d,所以輸出結果為trueSystem.out.println(obj1); //返回下一個元素,就是第一個元素,所以輸出結果為 aboolean b2 = it.hasNext(); //判斷集合中是否有元素,有就返回trueObject obj2 = it.next(); //E next()返回迭代的下一個元素,通過next方法將那個元素給獲取出來System.out.println(b2); //很顯然,集合c中有4個元素,a,b,c,d,所以輸出結果為trueSystem.out.println(obj2); //返回下一個元素,這里就成為了第二個元素,所以輸出結果為 b//通過這兩次的輸出,可以得出next方法可以將指針向后移動一位,第一次獲取的是a,然后,又調用了一次next,第二次獲取了b...//這樣寫太磨嘰了,這里有4個元素,代碼得重復4次,如果100個元素,那么這樣寫,代碼會特別的磨嘰*/while(it.hasNext()){ //boolean hasNext()如果仍有元素可以迭代,則返回 true,進行循環判斷集合是否還含有元素//通過while循環,利用hasNext這個方法來判斷是否有元素System.out.println(it.next()); //有元素的話,調用next方法,調用一次,指針就會向后移動一次,然后輸出該元素即可//E next()返回迭代的下一個元素,通過next方法將那個元素給獲取出來}} }

總結

以上是生活随笔為你收集整理的Java——集合的遍历之迭代遍历的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。