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

Java中的集合框架

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

概念

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

集合的作用

 

 

集合框架的類型:

collection和map 都是接口,不能實例化

List和Queue有序、可重復,Set無序、不可重復

 

list添加元素兩種add方法

1、直接添加,元素添加在隊尾;

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

2、指定位置添加,指定的位置(從0開始)不能超過隊列的長度,否則報錯(數(shù)組下標越界)。

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.通過迭代器來遍歷List,迭代器只是用來遍歷集合中元素的,本身不具有存儲元素的功能??梢哉f它是依賴某個集合存在的,不能獨立存在。

/**
  * 通過迭代器來遍歷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.通過for each 方法訪問集合元素

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

修改List中的元素。List中有個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()中也可直接放入索引下標,即可直接刪除。如remove(4)

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

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)用方法
 }

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

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

以上就是本文的全部內(nèi)容,希望本文的內(nèi)容對大家的學習或者工作能帶來一定的幫助,同時也希望多多支持腳本之家!

相關(guān)文章

  • Java代碼審計之URL重定向的問題解決

    Java代碼審計之URL重定向的問題解決

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

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

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

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

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

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

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

    在Java中避免NullPointerException的解決方案

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

    Java定時器Timer與TimerTask的使用詳解

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

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

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

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

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

    @Transactional遇到try catch失效的問題

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

    Java程序包裝成桌面應用程序方式

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

最新評論