最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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: 程序包com.baomidou.mybatisplus.annotation不存在

    解決 java: 程序包com.baomidou.mybatisplus.annotation不存在

    在使用Java編寫程序時,經(jīng)常會遇到各種編譯錯誤或運行時異常,本文主要介紹了解決java:程序包com.baomidou.mybatisplus.annotation不存在,具有一定的參考價值,感興趣的可以了解一下
    2024-03-03
  • Spring項目中使用Junit單元測試并配置數(shù)據(jù)源的操作

    Spring項目中使用Junit單元測試并配置數(shù)據(jù)源的操作

    這篇文章主要介紹了Spring項目中使用Junit單元測試并配置數(shù)據(jù)源的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • SpringCloud如何根據(jù)服務名獲取服務運行實例并進行負載均衡

    SpringCloud如何根據(jù)服務名獲取服務運行實例并進行負載均衡

    文章介紹了SpringCloud中使用Nacos作為注冊中心時,服務注冊和發(fā)現(xiàn)的過程,以及如何通過DiscoveryClient接口和LoadBalancerClient類進行服務的負載均衡,感興趣的朋友跟隨小編一起看看吧
    2025-01-01
  • Java并發(fā)編程中構(gòu)建自定義同步工具

    Java并發(fā)編程中構(gòu)建自定義同步工具

    這篇文章主要介紹了Java并發(fā)編程中構(gòu)建自定義同步工具,本文講解了可阻塞狀態(tài)依賴操作的結(jié)構(gòu)、有界緩存實現(xiàn)基類示例、阻塞實現(xiàn)方式一:拋異常給調(diào)用者、阻塞實現(xiàn)方式二:通過輪詢和休眠、阻塞實現(xiàn)方式三:條件隊列等內(nèi)容,需要的朋友可以參考下
    2015-04-04
  • SpringCloud輪詢拉取注冊表與服務發(fā)現(xiàn)流程詳解

    SpringCloud輪詢拉取注冊表與服務發(fā)現(xiàn)流程詳解

    這篇文章主要介紹了SpringCloud輪詢拉取注冊表與服務發(fā)現(xiàn),現(xiàn)在很多創(chuàng)業(yè)公司都開始往springcloud靠了,可能是由于文檔和組件比較豐富的原因吧,畢竟是一款目前來說比較完善的微服務架構(gòu)
    2022-11-11
  • Java多線程 樂觀鎖和CAS機制詳細

    Java多線程 樂觀鎖和CAS機制詳細

    這篇文章主要介紹了Java多線程 樂觀鎖和CAS機制,樂觀鎖是對于數(shù)據(jù)沖突保持一種樂觀態(tài)度,操作數(shù)據(jù)時不會對操作的數(shù)據(jù)進行加鎖,需要的朋友可以參考下
    2021-10-10
  • 詳解SpringBoot如何統(tǒng)一處理返回的信息

    詳解SpringBoot如何統(tǒng)一處理返回的信息

    現(xiàn)在的項目是前后端開發(fā)的居多,那么我們怎么定義接口返回的數(shù)據(jù),怎么使用?Spring?Boot?來統(tǒng)一處理返回的信息呢,本文就來和大家簡單講講
    2023-06-06
  • 學習Java HashMap,看這篇就夠了

    學習Java HashMap,看這篇就夠了

    這篇文章主要介紹了Java HashMap的相關(guān)資料,文中示例代碼非常詳細,幫助大家更好的理解和學習,感興趣的朋友可以了解下
    2020-07-07
  • SpringMVC使用@PathVariable接收參數(shù)過程解析

    SpringMVC使用@PathVariable接收參數(shù)過程解析

    這篇文章主要介紹了SpringMVC使用@PathVariable接收參數(shù)過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-10-10
  • Java泛型中<?>和<T>的區(qū)別淺析

    Java泛型中<?>和<T>的區(qū)別淺析

    <T>和<?>的區(qū)別 <T>是參數(shù)類型,常常用于泛型類或泛型方法的定義,下面這篇文章主要給大家介紹了關(guān)于Java泛型中<?>和<T>區(qū)別的相關(guān)資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-12-12

最新評論

巴林右旗| 讷河市| 家居| 东源县| 乌兰察布市| 库尔勒市| 东平县| 内丘县| 阿拉善右旗| 太康县| 罗源县| 华宁县| 安康市| 剑河县| 安徽省| 常熟市| 东山县| 霍州市| 专栏| 洛浦县| 咸丰县| 新巴尔虎左旗| 洛宁县| 松原市| 上饶县| 康平县| 疏勒县| 金华市| 周至县| 漠河县| 汕头市| 霍邱县| 扶绥县| 莆田市| 江津市| 庆云县| 从江县| 定边县| 塘沽区| 保定市| 沾化县|