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

Java中Collection、List、Set、Map之間的關(guān)系總結(jié)

 更新時(shí)間:2019年02月25日 11:17:15   作者:勁火星空  
今天小編就為大家分享一篇關(guān)于Java中Collection、List、Set、Map之間的關(guān)系總結(jié),小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧

初學(xué)java,單個(gè)的接觸有點(diǎn)迷糊,所以總結(jié)下他們的關(guān)系

一、關(guān)系

Collection

--List:以特定順序存儲(chǔ)

--ArrayList、LinkList、Vector

--Set:不能包含重復(fù)的元素

--HashSet、TreeSet

Map

--HashMap、HashTable、TreeMap

二、分別講解

Collection:Collection是一個(gè)父接口,List和Set是繼承自他的子接口,Collection是最基本的集合接口,Java SDK中不提供直接繼承自Collection的類,而是提供繼承自他子接口的類,如List何Set。所用的Collection類都支持一個(gè)Iterator()方法來遍歷。

List:List接口是有序的,會(huì)精確的將元素插入到指定的位置,和下面的Set接口不同,List接口允許有相同元素

ArrayList:實(shí)現(xiàn)可變大小的數(shù)組,允許所有的元素,不是同步的,也就是沒有同步方法

LinkList:允許null元素,通常在首部或者尾部操作,所以常被使用做堆棧(stack)、隊(duì)列(queue)和雙向隊(duì)列(deque)

Vector:類似于ArrayList,但Vector是同步的,Stack繼承自Vector

Set:是一種不包含重復(fù)元素的Collection接口

HashSet:不能有重復(fù)元素,底層是使用HashMap來實(shí)現(xiàn)的

Map:此接口實(shí)現(xiàn)的Key到Value的映射,一個(gè)Map中不能包含相同的Key,每個(gè)Key只能映射一個(gè)Value

HashTable:實(shí)現(xiàn)了一個(gè)Key-Value的哈希表,每一個(gè)非null元素都可作為Key或者Value,HashTable是同步的

HashMap:和HashTable的不同之處是,非同步的,且允許null元素的存在

三、Array和Arrays   Collection和Collections

Array:是所以隨機(jī)訪問一串對象中,最有效率的一種,但是元素類型必須相同,且容量固定無法改變。

Arrays:此靜態(tài)類專門操作array,提供搜索、排序、復(fù)制等靜態(tài)方法

Collection:Java.util下的一個(gè)接口,是各種集合結(jié)構(gòu)的父接口

Collections:Java.util下的一個(gè)專用靜態(tài)類,他包含各種集合操作的靜態(tài)方法,包括對集合的搜索、排序、線程安全等操作。

四、總結(jié)

涉及到堆棧、隊(duì)列等操作,使用List接口,快速插入和刪除應(yīng)使用LinkList,隨機(jī)訪問元素使用ArrayList

單線程使用非同步類,多線程使用同步類

注意對HashTable的操作,作為Key的對象要覆寫equals和hashCode方法

在各種Map中HashMap用于快速查找

最長使用的是ArrayList、HashSet、HashMap、Array

下面是一個(gè)找出元素字符串?dāng)?shù)組中最長字符串的例子

package Collection;
import java.util.Arrays; 
import java.util.Collections; 
import java.util.Comparator; 
import java.util.List; 
public class MasString {
 public static void main(String args []){
 String str[] = new String[]{"zhans", "lis", "wangwt", "quliu"};
 List<String> list = Arrays.asList(str);
 String max = Collections.max(list, new strSort()); // Collections靜態(tài)函數(shù)的使用
 System.out.println("max: "+max);
 }
}
class strSort implements Comparator<String>{
<span style="white-space:pre"> </span>// 一個(gè)比較器重新定義
 public int compare(String s1, String s2){
 if(s1.length() < s2.length()){
  return -1;
 }
 if(s1.length() < s2.length()){
  return s1.compareTo(s2);
 }
 else return 1;
 }
}

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請查看下面相關(guān)鏈接

相關(guān)文章

  • java實(shí)現(xiàn)簡單網(wǎng)絡(luò)象棋游戲

    java實(shí)現(xiàn)簡單網(wǎng)絡(luò)象棋游戲

    這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)簡單網(wǎng)絡(luò)象棋游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-12-12
  • JVM虛擬機(jī)性能監(jiān)控與故障處理工具介紹

    JVM虛擬機(jī)性能監(jiān)控與故障處理工具介紹

    這篇文章主要為大家介紹了JVM虛擬機(jī)性能監(jiān)控與故障處理工具介紹,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-07-07
  • SpringBoot集成PDFBox實(shí)現(xiàn)電子簽章的代碼詳解

    SpringBoot集成PDFBox實(shí)現(xiàn)電子簽章的代碼詳解

    Apache PDFBox 是一個(gè)開源的 Java 庫,用于處理 PDF 文檔,它提供了一系列強(qiáng)大的功能,包括創(chuàng)建、渲染、拆分、合并、加密、解密 PDF 文件,以及從 PDF 中提取文本和元數(shù)據(jù)等,本文給大家介紹了SpringBoot集成PDFBox實(shí)現(xiàn)電子簽章,需要的朋友可以參考下
    2024-09-09
  • 如何實(shí)現(xiàn)nohup?java進(jìn)程號一直在變方法步驟詳解

    如何實(shí)現(xiàn)nohup?java進(jìn)程號一直在變方法步驟詳解

    這篇文章主要為大家介紹了如何實(shí)現(xiàn)nohup?java進(jìn)程號一直在變方法步驟詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-11-11
  • 詳解Spring全局異常處理的三種方式

    詳解Spring全局異常處理的三種方式

    這篇文章主要介紹了詳解Spring全局異常處理的三種方式,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-04-04
  • Java異常處理機(jī)制深入理解

    Java異常處理機(jī)制深入理解

    如果某個(gè)方法不能按照正常的途徑完成任務(wù),就可以通過另一種路徑退出方法。在這種情況下會(huì)拋出一個(gè)封裝了錯(cuò)誤信息的對象。此時(shí),這個(gè)方法會(huì)立刻退出同時(shí)不返回任何值。另外,調(diào)用這個(gè)方法的其他代碼也無法繼續(xù)執(zhí)行,異常處理機(jī)制會(huì)將代碼執(zhí)行交給異常處理器
    2022-01-01
  • java編寫ftp下載工具

    java編寫ftp下載工具

    本文給大家介紹的是如何一步步實(shí)現(xiàn)使用java編寫FTP下載工具,而且是在Linux環(huán)境下使用javac編譯的,在運(yùn)行和編譯上有些不同之處,有需要的小伙伴們參考下吧。
    2015-03-03
  • hibernate測試時(shí)遇到的幾個(gè)異常及解決方法匯總

    hibernate測試時(shí)遇到的幾個(gè)異常及解決方法匯總

    今天小編就為大家分享一篇關(guān)于hibernate測試時(shí)遇到的幾個(gè)異常及解決方法匯總,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2019-03-03
  • SpringBoot讀取配置的常用方式總結(jié)

    SpringBoot讀取配置的常用方式總結(jié)

    在SpringBoot應(yīng)用開發(fā)中,配置文件是不可或缺的一部分,它們幫助我們管理應(yīng)用的運(yùn)行時(shí)參數(shù),使得應(yīng)用的部署和維護(hù)變得更加靈活,本文將介紹六種常用的SpringBoot讀取配置方式,需要的朋友跟著小編一起來看看吧
    2024-07-07
  • SpringBoot如何讀取配置文件中的數(shù)據(jù)到map和list

    SpringBoot如何讀取配置文件中的數(shù)據(jù)到map和list

    這篇文章主要介紹了SpringBoot如何讀取配置文件中的數(shù)據(jù)到map和list,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-02-02

最新評論

德阳市| 迁西县| 鹤庆县| 静安区| 宁城县| 太原市| 同心县| 额济纳旗| 龙山县| 贡觉县| 井研县| 大竹县| 淳化县| 泽普县| 英山县| 越西县| 通河县| 沽源县| 高陵县| 廊坊市| 合川市| 安达市| 桃江县| 深水埗区| 嘉禾县| 崇阳县| 北碚区| 永州市| 板桥市| 辉县市| 青川县| 湘乡市| 阳山县| 克东县| 墨竹工卡县| 哈巴河县| 什邡市| 张家口市| 台中县| 吉水县| 福海县|