欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java中的集合框架

 更新時(shí)間:2017年03月01日 09:34:15   作者:小刀是超人!  
本文主要介紹了Java中集合框架的相關(guān)知識(shí),具有很好的參考價(jià)值,下面跟著小編一起來(lái)看下吧

概念

Java中的集合類:是一種工具類,就像是容器,儲(chǔ)存任意數(shù)量的具有共同屬性的對(duì)象

集合的作用

 

 

集合框架的類型:

collection和map 都是接口,不能實(shí)例化

List和Queue有序、可重復(fù),Set無(wú)序、不可重復(fù)

 

list添加元素兩種add方法

1、直接添加,元素添加在隊(duì)尾;

對(duì)象存入集合都變成object類型,取出時(shí)需要類型轉(zhuǎn)換

2、指定位置添加,指定的位置(從0開始)不能超過(guò)隊(duì)列的長(zhǎng)度,否則報(bào)錯(cuò)(數(shù)組下標(biāo)越界)。

list的兩種addAll方法:添加類的數(shù)組

public void testAdd(){
  //add方法一
  Course cr1 = new Course("1", "課程一");
  coursesToSelect.add(cr1);
  Course temp = (Course)coursesToSelect.get(0);
  System.out.println("添加了課程:"+temp.id+":"+temp.name);
  //add方法二,添加到指定位置
  Course cr2 = new Course("2", "課程二");
  coursesToSelect.add(0, cr2);;
  Course temp2 = (Course)coursesToSelect.get(0);
  System.out.println("添加了課程:"+temp2.id+":"+temp2.name);
  //addAll數(shù)組添加方法一
  Course[] cr34 = {new Course("3", "課程三"), new Course("4", "課程四")};
  coursesToSelect.addAll(Arrays.asList(cr34));//添加數(shù)組的方法
  Course temp3 = (Course)coursesToSelect.get(2);
  Course temp4 = (Course)coursesToSelect.get(3);
  System.out.println("添加了兩門課程:"+temp3.id+":"+temp3.name+
    ";"+temp4.id+":"+temp4.name);
  //addAll數(shù)組添加方法二,添加到指定位置
  Course[] cr56 = {new Course("5", "課程五"), new Course("6", "課程六")};
  coursesToSelect.addAll(2, Arrays.asList(cr56));
  Course temp5 = (Course)coursesToSelect.get(2);
  Course temp6 = (Course)coursesToSelect.get(3);
  System.out.println("添加了兩門課程:"+temp5.id+":"+temp5.name+
    ";"+temp6.id+":"+temp6.name);
 }

遍歷List

1.for循環(huán)遍歷

/**
  * 取得List中的元素的方法
  * @param args
  */
 public void testGet(){
  int size = coursesToSelect.size();
  System.out.println("有如下課程待選:");
  for(int i=0; i<size;i++){
   Course cr = (Course)coursesToSelect.get(i);
   System.out.println("課程:"+cr.id+":"+cr.name);
  }
 }

2.通過(guò)迭代器來(lái)遍歷List,迭代器只是用來(lái)遍歷集合中元素的,本身不具有存儲(chǔ)元素的功能??梢哉f(shuō)它是依賴某個(gè)集合存在的,不能獨(dú)立存在。

/**
  * 通過(guò)迭代器來(lái)遍歷List
  * @param args
  */
 public void testIterator(){
  Iterator it = coursesToSelect.iterator();
  System.out.println("有如下課程待選(迭代器):");
  while(it.hasNext()){
   Course cr = (Course)it.next();//Iterator的next方法
   System.out.println("課程:"+cr.id+":"+cr.name);
  }
 }

3.通過(guò)for each 方法訪問(wèn)集合元素

/**
  * 通過(guò)for each 方法訪問(wèn)集合元素
  * @param args
  */
 public void testForEach(){
  System.out.println("有如下課程待選(for each):");
  for(Object obj:coursesToSelect){
   Course cr = (Course)obj;//取出的元素一致都為Object類型,需要強(qiáng)轉(zhuǎn)
   System.out.println("課程:"+cr.id+":"+cr.name);
  }
 }

修改List中的元素。List中有個(gè)Set方法

/**
  * 修改List中的元素
  * @param args
  */
 public void testModify(){
  coursesToSelect.set(4, new Course("7", "課程七"));
 }

刪除List中的元素。與add相似,有remove和removeAll兩種

/**
  * 刪除List中的元素
  * @param args
  */
 public void testRemore(){
  Course cr = (Course)coursesToSelect.get(4);
  System.out.println("我是課程:"+cr.id+":"+cr.name+",我即將被刪除了");
  coursesToSelect.remove(cr);
  System.out.println("刪掉了。。");
  testForEach();//方法內(nèi)部調(diào)用方法
 }

上述remove()中也可直接放入索引下標(biāo),即可直接刪除。如remove(4)

removeAll是從一個(gè)集合中將另一個(gè)集合中的所有元素全部刪除。

public void testRemore(){
  Course[] courses={(Course)coursesToSelect.get(3),(Course)coursesToSelect.get(4)};
  System.out.println("我是課程:3,4,我即將被刪除了");
  coursesToSelect.removeAll(Arrays.asList(courses)); 
  System.out.println("刪掉了。。");
  testForEach();//方法內(nèi)部調(diào)用方法
 }

**實(shí)際編寫代碼中最好每個(gè)類中的屬性都私有(private),需要使用時(shí)再用getXX或setXX

private String id;
public String getId(){
 return id;
}
public String setId(){
 this.id=id;
}

以上就是本文的全部?jī)?nèi)容,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,同時(shí)也希望多多支持腳本之家!

相關(guān)文章

  • Java代碼審計(jì)之URL重定向的問(wèn)題解決

    Java代碼審計(jì)之URL重定向的問(wèn)題解決

    URLRedirect url重定向漏洞也稱url任意跳轉(zhuǎn)漏洞,網(wǎng)站信任了用戶的輸入導(dǎo)致惡意攻擊,本文主要介紹了Java代碼審計(jì)之URL重定向的問(wèn)題解決,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-06-06
  • 圖解排序算法之希爾排序Java實(shí)現(xiàn)

    圖解排序算法之希爾排序Java實(shí)現(xiàn)

    希爾排序是希爾(Donald Shell)于1959年提出的一種排序算法。希爾排序也是一種插入排序,它是簡(jiǎn)單插入排序經(jīng)過(guò)改進(jìn)之后的一個(gè)更高效的版本,也稱為縮小增量排序,同時(shí)該算法是沖破O(n2)的第一批算法之一。本文會(huì)以圖解的方式詳細(xì)介紹希爾排序的基本思想及其代碼實(shí)現(xiàn)
    2021-06-06
  • MyBatis中insert操作返回主鍵的實(shí)現(xiàn)方法

    MyBatis中insert操作返回主鍵的實(shí)現(xiàn)方法

    在使用MyBatis做持久層時(shí),insert語(yǔ)句默認(rèn)是不返回記錄的主鍵值,而是返回插入的記錄條數(shù)。這篇文章主要介紹了MyBatis中insert操作返回主鍵的方法,需要的朋友可以參考下
    2016-09-09
  • Java并發(fā) 結(jié)合源碼分析AQS原理

    Java并發(fā) 結(jié)合源碼分析AQS原理

    這篇文章主要介紹了Java并發(fā) 結(jié)合源碼分析AQS原理,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-10-10
  • 在Java中避免NullPointerException的解決方案

    在Java中避免NullPointerException的解決方案

    這篇文章主要介紹了在Java中避免NullPointerException的解決方案,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-04-04
  • Java定時(shí)器Timer與TimerTask的使用詳解

    Java定時(shí)器Timer與TimerTask的使用詳解

    這篇文章主要介紹了Java定時(shí)器Timer與TimerTask的使用詳解,在JDK類庫(kù)中Timer主要負(fù)責(zé)計(jì)劃任務(wù)的功能,也就是在指定時(shí)間執(zhí)行某一任務(wù),執(zhí)行時(shí)候會(huì)在主線程之外起一個(gè)單獨(dú)的線程執(zhí)行指定的任務(wù),該類主要是設(shè)置任務(wù)計(jì)劃,但封裝的類是TimerTask類,需要的朋友可以參考下
    2023-10-10
  • spring mvc4中相關(guān)注解的詳細(xì)講解教程

    spring mvc4中相關(guān)注解的詳細(xì)講解教程

    這篇文章主要給大家介紹了關(guān)于spring mvc4中相關(guān)注解的相關(guān)資料,其中詳細(xì)介紹了關(guān)于@Controller、@RequestMapping、@RathVariable、@RequestParam及@RequestBody等等注解的相關(guān)內(nèi)容,需要的朋友可以參考借鑒,下面來(lái)一起看看吧。
    2017-06-06
  • SpringBoot集成Solr實(shí)現(xiàn)全文檢索功能

    SpringBoot集成Solr實(shí)現(xiàn)全文檢索功能

    solr是一個(gè)現(xiàn)成的全文檢索引擎系統(tǒng), 放入tomcat下可以獨(dú)立運(yùn)行, 對(duì)外通過(guò)http協(xié)議提供全文檢索服務(wù),這篇文章給大家介紹了SpringBoot集成Solr實(shí)現(xiàn)全文檢索功能,文中有詳細(xì)的代碼示例供大家參考,需要的朋友可以參考下
    2024-03-03
  • @Transactional遇到try catch失效的問(wèn)題

    @Transactional遇到try catch失效的問(wèn)題

    這篇文章主要介紹了@Transactional遇到try catch失效的問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-01-01
  • Java程序包裝成桌面應(yīng)用程序方式

    Java程序包裝成桌面應(yīng)用程序方式

    這篇文章主要介紹了Java程序包裝成桌面應(yīng)用程序方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-01-01

最新評(píng)論