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

java中的常用集合類整理

 更新時(shí)間:2019年12月03日 08:12:34   作者:V  
在本篇文章里小編給大家整理的是關(guān)于java中的常用集合類的相關(guān)知識(shí)點(diǎn)內(nèi)容,有興趣的朋友們學(xué)習(xí)下。

一、Set集合

其主要實(shí)現(xiàn)類有HashSet、TreeSet存放對(duì)象的引用,不允許有重復(fù)對(duì)象。

實(shí)例代碼:

public class SetTest {

    public static void main(String[] args) {      

    Set set=new HashSet();       //添加數(shù)據(jù)       

    set.add("abc");      

    set.add("cba");      

    set.add("abc");//故意重復(fù)      

    set.add(123);      

    set.add(true);       

    System.out.println("集合元素個(gè)數(shù):"+set.size());       //遍歷出集合中每一個(gè)元素       

    Iterator it=set.iterator();       

    while(it.hasNext()){         

      System.out.println(it.next());       

    }     

    }  

}

通過java的equals()方法判別。如果有特殊需求須重載equals()方法。

1.HashSet(),調(diào)用對(duì)象的hashCode()方法,獲得哈希碼,然后再集合中計(jì)算存放對(duì)象的位置。通過比較哈希碼與equals()方法來判別是否重復(fù)。所以,重載了equals()方法同時(shí)也要重載hashCode()方法。

相關(guān)視頻教程推薦:java在線學(xué)習(xí)

2.TreeSet(),繼承ShortedSet接口,能夠?qū)现袑?duì)象排序。默認(rèn)排序方式是自然排序,但該方式只能對(duì)實(shí)現(xiàn)了Comparable接口的對(duì)象排序,java中對(duì)Integer、Byte、Double、Character、String等數(shù)值型和字符型對(duì)象都實(shí)現(xiàn)了該接口。

如果有特殊排序,須重載該接口下的compareTo()方法或通過Comparator接口的實(shí)現(xiàn)類構(gòu)造集合。

二、List集合

其主要實(shí)現(xiàn)類有LinkedList、ArrayList,前者實(shí)現(xiàn)了鏈表結(jié)構(gòu),后者可代表大小可變的數(shù)組。

List的特點(diǎn)是能夠以線性方式儲(chǔ)蓄對(duì)象,并允許存放重復(fù)對(duì)象。List能夠利用Collections類的靜態(tài)方法sort排序。sort(List list)自然排序;sort(List listm,Comparator codddmparator)客戶化排序。

實(shí)例代碼:

List:線性集合接口,有序;

ArrayList:動(dòng)態(tài)數(shù)組[可變長(zhǎng)度的動(dòng)態(tài)數(shù)組];

LinkedList:鏈表結(jié)構(gòu)的集合。

public class ListTest {

   //ArrayList     

   static void testOne(){      

   List list=new ArrayList();       //添加數(shù)據(jù)       

   list.add("abc");       

   list.add("cba");       

   list.add(123);       

   list.add(0,"fist");       //查看集合長(zhǎng)度       

   System.out.println("存放"+list.size()+"個(gè)元素");       

   list.remove(0);//刪除第一個(gè)元素       //查看集合中是否包含cba       

   if(list.contains("cba")){        

   System.out.println("包含元素cba");    

   }        //取出集合中第二個(gè)元素       

   System.out.println("第二個(gè)元素是:"+list.get(1));        //取出集合中所有元素       

   for (int i = 0; i < list.size(); i++) {         

   System.out.println(list.get(i));      

   }     

   }       //LinkedList      

   static void testTwo(){      

   LinkedList list=new LinkedList();      //添加元素      

   list.add("aaaa");      

   list.add(123123);      

   list.addFirst("1111111");      

   list.addLast("2222222");      

   list.add("33333333");       

   System.out.println("元素個(gè)數(shù):"+list.size());      //取出第三個(gè)元素      

   System.out.println("第三個(gè)元素是:"+list.get(2));       //第一個(gè)元素      

   System.out.println("第一個(gè)元素:"+list.getFirst());      

   System.out.println("最后一個(gè)元素:"+list.getLast());       //刪除第一個(gè)元素      

   list.removeFirst();       

   for (Object object : list) {        

   System.out.println(object);      

   }     

   }     

   public static void main(String[] args) {     //testOne();     

   testTwo();     

   }  

   }

三、Map集合。

其主要實(shí)現(xiàn)類有HashMap、TreeMap。Map對(duì)值沒有唯一性要求,對(duì)鍵要求唯一,如果加入已有的健,原有的值對(duì)象將被覆蓋。

HashMap類按照哈希算法來存取鍵對(duì)象,可以重載equals()、hashCode()方法來比較鍵,但是兩者必須一致。TreeMap,可自然排序,也可通過傳遞Comparator的實(shí)現(xiàn)類構(gòu)造TreeMap。

Map:鍵值對(duì)存儲(chǔ)結(jié)構(gòu)的集合,無(wú)序。

實(shí)例代碼:

public class MapTest {

    public static void main(String[] args) {       //實(shí)例化一個(gè)集合對(duì)象       

    Map map=new HashMap();       //添加數(shù)據(jù)       

    map.put("P01", "zhangSan");       

    map.put("P02", "Lucy");       

    map.put("PSex", "男");       

    map.put("PAge", "39");       

    map.put("PAge", "22");//key,重復(fù)會(huì)被后面的覆蓋        //判斷是否有一個(gè)key為PSex       

    if(map.containsKey("PSex")){        

      System.out.println("存在");       

    }      

    System.out.println("集合大小:"+map.size());      

    System.out.println("輸出key為PAge的值:"+map.get("PAge"));       //遍歷出Map集合中所有數(shù)據(jù)      

    Iterator it=map.keySet().iterator();      

    while(it.hasNext()){      

      String key=it.next().toString();      

      System.out.println("key="+key+",value="+map.get(key));    

    }     

    /*      

    Set set=map.keySet();//取出map中所有的key并封裝到set集合中      

    Iterator it=set.iterator();      

    while(it.hasNext()){      

      String key=it.next().toString();      

      System.out.println("key="+key+",value="+map.get(key));    

    }      

    */    

    }  

    }

以上就是java中的常用集合類有哪些的詳細(xì)內(nèi)容,希望腳本之家整理的內(nèi)容能夠幫助到大家。

相關(guān)文章

  • Web三大組件之Filter,Listener和Servlet詳解

    Web三大組件之Filter,Listener和Servlet詳解

    這篇文章主要為大家詳細(xì)介紹了Web三大組件之Filter,Listener和Servlet,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-03-03
  • Springboot如何使用OSHI獲取和操作系統(tǒng)和硬件信息

    Springboot如何使用OSHI獲取和操作系統(tǒng)和硬件信息

    這篇文章主要介紹了Springboot如何使用OSHI獲取和操作系統(tǒng)和硬件信息問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-10-10
  • Mybatis SQL日志如何轉(zhuǎn)換為可執(zhí)行sql

    Mybatis SQL日志如何轉(zhuǎn)換為可執(zhí)行sql

    這篇文章主要介紹了Mybatis SQL日志如何轉(zhuǎn)換為可執(zhí)行sql問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • Springboot+WebSocket實(shí)現(xiàn)一對(duì)一聊天和公告的示例代碼

    Springboot+WebSocket實(shí)現(xiàn)一對(duì)一聊天和公告的示例代碼

    這篇文章主要介紹了Springboot+WebSocket實(shí)現(xiàn)一對(duì)一聊天和公告的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • SpringBoot詳解如何實(shí)現(xiàn)讀寫分離

    SpringBoot詳解如何實(shí)現(xiàn)讀寫分離

    當(dāng)響應(yīng)的瓶頸在數(shù)據(jù)庫(kù)的時(shí)候,就要考慮數(shù)據(jù)庫(kù)的讀寫分離,當(dāng)然還可以分庫(kù)分表,那是單表數(shù)據(jù)量特別大,當(dāng)單表數(shù)據(jù)量不是特別大,但是請(qǐng)求量比較大的時(shí)候,就要考慮讀寫分離了.具體的話,還是要看自己的業(yè)務(wù)...如果還是很慢,那就要分庫(kù)分表了...我們這篇就簡(jiǎn)單講一下讀寫分離
    2022-05-05
  • Springboot-admin整合Quartz實(shí)現(xiàn)動(dòng)態(tài)管理定時(shí)任務(wù)的過程詳解

    Springboot-admin整合Quartz實(shí)現(xiàn)動(dòng)態(tài)管理定時(shí)任務(wù)的過程詳解

    Quartz是一款Java編寫的開源任務(wù)調(diào)度框架,同時(shí)它也是Spring默認(rèn)的任務(wù)調(diào)度框架,它的作用其實(shí)類似于Timer定時(shí)器以及ScheduledExecutorService調(diào)度線程池,這篇文章主要介紹了Springboot-admin整合Quartz實(shí)現(xiàn)動(dòng)態(tài)管理定時(shí)任務(wù),需要的朋友可以參考下
    2023-04-04
  • SPRINGMVC 406問題解決方案

    SPRINGMVC 406問題解決方案

    這篇文章主要介紹了SPRINGMVC 406問題解決方案,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-11-11
  • Java模擬QQ實(shí)現(xiàn)聊天互動(dòng)程序

    Java模擬QQ實(shí)現(xiàn)聊天互動(dòng)程序

    這篇文章主要介紹了如何利用Java語(yǔ)言模擬QQ實(shí)現(xiàn)一個(gè)簡(jiǎn)易的聊天互動(dòng)程序,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2022-06-06
  • 解決使用mybatis-plus時(shí),生成的SQL大寫變小寫加下劃線問題

    解決使用mybatis-plus時(shí),生成的SQL大寫變小寫加下劃線問題

    這篇文章主要介紹了解決使用mybatis-plus時(shí),生成的SQL大寫變小寫加下劃線問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-12-12
  • 解決Springboot中@Async注解獲取不到上下文信息問題

    解決Springboot中@Async注解獲取不到上下文信息問題

    實(shí)際開發(fā)中我們經(jīng)常需要通過spring上下文獲取一些配置信息,本文主要介紹了解決Springboot中@Async注解獲取不到上下文信息問題,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-01-01

最新評(píng)論

逊克县| 门源| 贵定县| 驻马店市| 定结县| 富阳市| 新沂市| 诸暨市| 武义县| 永春县| 黄骅市| 高安市| 都昌县| 溆浦县| 北海市| 三门峡市| 乌审旗| 亚东县| 梓潼县| 绥宁县| 闽清县| 伽师县| 营口市| 会泽县| 屏东市| 军事| 志丹县| 乐都县| 肇庆市| 仙桃市| 库车县| 白城市| 吉木萨尔县| 新密市| 丰都县| 措勤县| 和平区| 湖州市| 新昌县| 临沭县| 普安县|