集合的遍歷,其實就是依次獲取集合中的每一個元素,
A: * Object[] toArray():把集合轉成陣列,可以實作集合的遍歷
B: 遍歷的每一個元素(字串)可以獲取每個字串的長度
1 package Day15; 2 3 4 import java.util.ArrayList; 5 import java.util.Collection; 6 7 public class JiHeBianLi { 8 public static void main(String[] args) { 9 //創建集合物件 10 Collection A = new ArrayList(); 11 12 //向集合內添加元素 13 A.add("hello"); 14 A.add("world"); 15 A.add("java"); 16 17 //將集合轉化為陣列---實作集合的遍歷 18 //Object[] toArray() 19 Object [] objs = A.toArray(); 20 //對陣列進行遍歷--完成對集合的遍歷 21 for(int x=0;x<objs.length;x++){ 22 //System.out.println(M[x]); 23 24 //現在我們想知道這個字串的長度 25 //因為M【x】是陣列Object類中的元素--無法對其使用其length()方法 26 //因為Object中沒有length()方法 27 // System.out.println(M[x]+"---"+M[x].length); 28 29 //我們需要向下轉型---轉化為字串才可以呼叫字串中的length()方法 30 //String中具有length()方法 31 String s = (String) objs[x]; 32 System.out.println(s + "---" + s.length()); 33 34 } 35 } 36 37 }
自定義物件遍歷案例
1基本學生類
package Day15; 2 3 public class Student1 { 4 private String name; 5 private int age; 6 private String id; 7 8 //構造方法 9 public Student1(){ 10 super(); 11 } 12 public Student1(String name, int age, String id) { 13 super(); 14 this.name = name; 15 this.age = age; 16 this.id = id; 17 } 18 //setXxx和getXxx 19 public void setName(String name) { 20 this.name = name; 21 } 22 23 public void setAge(int age) { 24 this.age = age; 25 } 26 27 public void setId(String id) { 28 this.id = id; 29 } 30 31 public String getName() { 32 return name; 33 } 34 35 public int getAge() { 36 return age; 37 } 38 39 public String getId() { 40 return id; 41 } 42 43 //重寫toString方法--方便直接呼叫物件---輸出結果 44 @Override 45 public String toString() { 46 return "Student1{" + 47 "name='" + name + '\'' + 48 ", age=" + age + 49 ", id='" + id + '\'' + 50 '}'; 51 } 52 }
測驗類
1 package Day15; 2 3 4 import java.util.ArrayList; 5 import java.util.Collection; 6 7 public class Lx { 8 public static void main(String[] args) { 9 //創建集合物件 10 Collection S = new ArrayList(); 11 //創建學生物件 12 Student1 A = new Student1("清華",23,"北京"); 13 Student1 B = new Student1("北大",24,"北京"); 14 Student1 C =new Student1("山大",26,"山東"); 15 Student1 D = new Student1("濟南大學",21,"山東濟南"); 16 Student1 E = new Student1("山東農業工程學院",18,"山東淄博"); 17 18 //把學生添加到集合 19 //boolean add(Object obj):添加一個元素 20 S.add(A);//----Object obj = (Object) A----向上轉型--轉為Object 21 S.add(B); 22 S.add(C); 23 S.add(D); 24 S.add(E); 25 //沒有遍歷前的輸出是一個整體輸出 26 //System.out.println(S); 27 //將集合轉化為陣列 28 // *Object[] toArray() 29 Object [] SM = S.toArray(); 30 31 //遍歷陣列 32 for(int x=0;x<SM.length;x++){ 33 //方式一----此方法的前提是-Student1類中重寫了tostring方法 34 //System.out.println(SM[x]);//----利用學生類中的重寫的toString方法進行直接輸出 35 36 //方式二 37 //向下轉型由Object類---轉型為Student1類 38 Student1 ss = (Student1) SM[x]; 39 //轉為類---向類中傳遞資料 40 //呼叫類中的方法----同樣實作遍歷輸出 41 System.out.println(ss.getName()+"--"+ss.getAge()); 42 43 } 44 } 45 }
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/445883.html
標籤:其他
