Java集合遍歷實現方法及泛型通配
阿新 • • 發佈:2020-07-21
集合定義
集合,集合是java中提供的一種容器,可以用來儲存多個數據。
特點:陣列的長度是固定的。集合的長度是可變的。集合中儲存的元素必須是引用型別資料‘
普通for遍歷:
//案例一 ArrayList<Person> arr=new ArrayList<Person>(); arr.add(new Person("張三",19)); arr.add(new Person("小紅帽",20)); arr.add(new Person("小紅帽",23)); for(int i=0;i<arr.size();i++){ System.out.println(arr.get(i)); }
增強for迴圈遍歷:
案例二 Collection<Integer> arr=new ArrayList<Integer>(); arr.add(789); arr.add(456); arr.add(123); //增強for迴圈 /*for(元素的資料型別 變數 : Collection集合or陣列){ }*/ for(Integer i:arr){ System.out.println(i); }
迭代器遍歷:
//案例三 //1,建立集合物件。 Collection<String> coll = new ArrayList<String>(); coll.add("abc1"); coll.add("abc2"); coll.add("abc3"); coll.add("abc4"); //2.獲取容器的迭代器物件。通過iterator方法。 Iterator it = coll.iterator(); //3,使用具體的迭代器物件獲取集合中的元素。參閱迭代器的方法 while(it.hasNext()){ System.out.println(it.next()); }
Collection介面的基本方法
Collection介面是集合中的頂層介面,那麼它中定義的所有功能子類都可以使用
建立集合的格式:
方式1:Collection<元素型別> 變數名 = new ArrayList<元素型別>();
方式2:Collection 變數名 = new ArrayList();
集合元素的向下轉型
Collection coll = new ArrayList(); coll.add("abc"); coll.add("aabbcc"); coll.add(1); Iterator it = coll.iterator(); while (it.hasNext()) { //由於元素被存放進集合後全部被提升為Object型別 //當需要使用子類物件特有方法時,需要向下轉型 String str = (String) it.next(); System.out.println(str.length()); }
泛型和萬用字元
類定義格式:修飾符 class 類名<代表泛型的變數> { }
介面定義格式:修飾符 interface介面名<代表泛型的變數> { }
限定泛型的下限:
//? extends Person 限定泛型的上限 //? super Person 限定泛型的下限 public static void get(Collection<? extends Person> c){ Iterator<?> it=c.iterator(); while(it.hasNext()){ //向下轉型 Object obj=it.next(); Person p=(Person)obj; System.out.println(p.getName()); }
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。