Java集合遍歷實(shí)現(xiàn)方法及泛型通配
集合定義
集合,集合是java中提供的一種容器,可以用來存儲(chǔ)多個(gè)數(shù)據(jù)。
特點(diǎn):數(shù)組的長(zhǎng)度是固定的。集合的長(zhǎng)度是可變的。集合中存儲(chǔ)的元素必須是引用類型數(shù)據(jù)‘
普通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));
}
增強(qiáng)for循環(huán)遍歷:
案例二
Collection<Integer> arr=new ArrayList<Integer>();
arr.add(789);
arr.add(456);
arr.add(123);
//增強(qiáng)for循環(huán)
/*for(元素的數(shù)據(jù)類型 變量 : Collection集合or數(shù)組){
}*/
for(Integer i:arr){
System.out.println(i);
}
迭代器遍歷:
//案例三
//1,創(chuàng)建集合對(duì)象。
Collection<String> coll = new ArrayList<String>();
coll.add("abc1");
coll.add("abc2");
coll.add("abc3");
coll.add("abc4");
//2.獲取容器的迭代器對(duì)象。通過iterator方法。
Iterator it = coll.iterator();
//3,使用具體的迭代器對(duì)象獲取集合中的元素。參閱迭代器的方法
while(it.hasNext()){
System.out.println(it.next());
}
Collection接口的基本方法
Collection接口是集合中的頂層接口,那么它中定義的所有功能子類都可以使用

創(chuàng)建集合的格式:
方式1:Collection<元素類型> 變量名 = new ArrayList<元素類型>();
方式2:Collection 變量名 = new ArrayList();
集合元素的向下轉(zhuǎn)型
Collection coll = new ArrayList();
coll.add("abc");
coll.add("aabbcc");
coll.add(1);
Iterator it = coll.iterator();
while (it.hasNext()) {
//由于元素被存放進(jìn)集合后全部被提升為Object類型
//當(dāng)需要使用子類對(duì)象特有方法時(shí),需要向下轉(zhuǎn)型
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()){
//向下轉(zhuǎn)型
Object obj=it.next();
Person p=(Person)obj;
System.out.println(p.getName());
}
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Spring中的@EnableConfigurationProperties使用方式以及作用詳解
這篇文章主要介紹了Spring中的@EnableConfigurationProperties使用方式以及作用詳解,使用了?@ConfigurationProperties?注解的配置類生效,將該類注入到?IOC?容器中,交由?IOC?容器進(jìn)行管理,此時(shí)則不用再配置類上加上@Component,需要的朋友可以參考下2024-01-01
java數(shù)據(jù)結(jié)構(gòu)基礎(chǔ):順序隊(duì)列和循環(huán)隊(duì)列
下面小編就為大家分享一篇java隊(duì)列實(shí)現(xiàn)方法(順序隊(duì)列,循環(huán)隊(duì)列),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2021-08-08
項(xiàng)目依賴Springboot jar失敗解決方案
這篇文章主要介紹了項(xiàng)目依賴Springboot jar失敗解決方案,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-08-08
Java應(yīng)用打包后運(yùn)行需要注意編碼問題
這篇文章主要介紹了 Java應(yīng)用打包后運(yùn)行需要注意編碼問題的相關(guān)資料,需要的朋友可以參考下2016-12-12
三種簡(jiǎn)單排序算法(使用java實(shí)現(xiàn))
下面小編就為大家?guī)硪黄N簡(jiǎn)單排序算法(使用java實(shí)現(xiàn))。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-07-07
SpringBoot實(shí)現(xiàn)自定義配置文件提示的方法
這篇文章主要介紹了SpringBoot實(shí)現(xiàn)自定義配置文件提示的方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-03-03
mybatis中mapper.xml文件的常用屬性及標(biāo)簽講解
這篇文章主要介紹了mybatis中mapper.xml文件的常用屬性及標(biāo)簽講解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-09-09

