成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

Collections工具類的概述以及用法

XGBCCC / 1872人閱讀

摘要:正文工具類是包中的一個工具類,主要功能是對集合及其元素進(jìn)行操作。這篇文章算是對官方文檔的總結(jié)和歸納,也加以自己的思考,也是面試題之一,希望自己能在之后不會再吃這道題的虧。

????本文首發(fā)于cartoon的博客
????轉(zhuǎn)載請注明出處:https://cartoonyu.github.io/c...
????推薦一篇不錯的博文https://gitee.com/SnailClimb/JavaGuide/blob/master/docs/java/Basis/Arrays,CollectionsCommonMethods.md

前言

就在剛剛面試,被問到了Collections工具類有什么功能,我懵了,很少涉及到Collections這個工具類,只答了對集合元素的操作以及將線程不同步的集合類轉(zhuǎn)換成線程同步,下定決心復(fù)盤一下。

正文

Collections工具類是java.util包中的一個工具類,主要功能是對集合及其元素進(jìn)行操作。雖然被問的有點懵,在結(jié)束查看官方文檔時發(fā)現(xiàn)其實可以分成以下幾大部分

對集合本體的操作
線程同步集合的包裝

特征

方法名為synchronizedXxx

適用范圍

List

Collection

Set

Map

缺點

每次讀寫都要加鎖,鎖的層級為對象,不利于多線程的同時操作

在使用Iterator的遍歷時修改元素ConcurrentModificationException

建議使用java.util.concurrent的集合線程同步類

返回不可變集合

特征

方法名為emptyXxx(空集合)/singletonXxx(包含傳入元素的集合)/unmodifiableXxx(包含傳入集合元素的集合)

適用范圍

emptyXxx

Set

List

Map

Iterator

Enumeration

singletonXxx

Set

List

Map

unmodifiableXxx

Map

List

Set

返回指定集的動態(tài)類型安全視圖

特征

方法名為checkedXxx

適用范圍

List

Map

Queue

Set

Collection

集合間的轉(zhuǎn)換

特征

asLifoQueue(將傳入的Deque轉(zhuǎn)換成Queue)

list(將傳入的Enumeration轉(zhuǎn)換成ArrayList)

newSetFromMap(根據(jù)傳入的空Map返回Set)

nCopies(根據(jù)傳入的n返回含n個副本的List)

集合內(nèi)元素的操作
添加元素到集合中

特征

addAll

copy(將源集合元素復(fù)制到目標(biāo)集合中)

適用范圍

addAll

Collection

copy

List

查找元素

特征

binarySearch(二分查找特定元素)

frequency(查找元素出現(xiàn)次數(shù))

indexOfSubList(返回目標(biāo)list在源list的開始位置)

subIndexOfSubList(返回目標(biāo)list在源list的結(jié)束位置)

shuffle(返回隨機索引元素)

適用范圍

binarySearch

List

frequency

Collection

shuffle

List

替換

特征

fill(替換集合所有元素)

replaceAll(替換特定的值)

適用范圍

fill

List

replaceAll

List

改變元素位置

特征

sort(排序)

swap

rotate(反轉(zhuǎn))

reverse

適用范圍

List

對比元素

特征

min/max(尋找最大/小元素)

disJoint(判斷兩個集合元素是否全不同)

適用范圍

Collection

總結(jié)

Collections工具類能對各接口以及實現(xiàn)類實現(xiàn)多種操作

集合類級操作

返回線程安全集合

返回不可變集合

返回安全視圖

集合間的轉(zhuǎn)換

涉及到內(nèi)部元素的操作

添加元素到集合中

查找特定元素

替換元素

改變元素位置

元素間的比較

雖然有些方法不如其他包內(nèi)的工具類好用,但是總體來說功能還是非常強大的。

這篇文章算是對官方文檔的總結(jié)和歸納,也加以自己的思考,也是面試題之一,希望自己能在之后不會再吃這道題的虧。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/77842.html

相關(guān)文章

  • Java多線程進(jìn)階(一)—— J.U.C并發(fā)包概述

    摘要:整個包,按照功能可以大致劃分如下鎖框架原子類框架同步器框架集合框架執(zhí)行器框架本系列將按上述順序分析,分析所基于的源碼為。后,根據(jù)一系列常見的多線程設(shè)計模式,設(shè)計了并發(fā)包,其中包下提供了一系列基礎(chǔ)的鎖工具,用以對等進(jìn)行補充增強。 showImg(https://segmentfault.com/img/remote/1460000016012623); 本文首發(fā)于一世流云專欄:https...

    anonymoussf 評論0 收藏0
  • Java編程基礎(chǔ)19——Map集合&斗地主案例

    摘要:使用默認(rèn)隨機源對指定列表進(jìn)行置換。將集合排序使用二分搜索法搜索指定列表,以獲得指定對象根據(jù)元素的自然順序,返回給定的最大元素。 1_Map集合概述和特點 A:Map接口概述 查看API可以知道: 將鍵映射到值的對象 一個映射不能包含重復(fù)的鍵 每個鍵最多只能映射到一個值 B:Map接口和Collection接口的不同 Map是雙列的,Collection是單列的 Map...

    ygyooo 評論0 收藏0
  • Java集合框架——Map接口

    摘要:第三階段常見對象的學(xué)習(xí)集合框架集合在實際需求中,我們常常會遇到這樣的問題,在諸多的數(shù)據(jù)中,通過其編號來尋找某一些信息,從而進(jìn)行查看或者修改,例如通過學(xué)號查詢學(xué)生信息。面試題和的區(qū)別是單列集合的頂層接口,有子接口和。 第三階段 JAVA常見對象的學(xué)習(xí) 集合框架——Map集合 showImg(https://segmentfault.com/img/remote/1460000019683...

    princekin 評論0 收藏0
  • Java 性能調(diào)優(yōu)指南之 Java 集合概覽

    摘要:單線程集合本部分將重點介紹非線程安全集合。非線程安全集合框架的最新成員是自起推出的。這是標(biāo)準(zhǔn)的單線程陣營中唯一的有序集合。該功能能有效防止運行時造型。檢查個集合之間不存在共同的元素?;谧匀慌判蚧蛘页黾现械淖畲蠡蜃钚≡?。 【編者按】本文作者為擁有十年金融軟件開發(fā)經(jīng)驗的 Mikhail Vorontsov,文章主要概覽了所有標(biāo)準(zhǔn) Java 集合類型。文章系國內(nèi) ITOM 管理平臺 O...

    gnehc 評論0 收藏0
  • 1、Map接口 2、模擬斗地主洗牌發(fā)牌

    摘要:中的集合稱為單列集合,中的集合稱為雙列集合。洗牌通過數(shù)字完成洗牌發(fā)牌發(fā)牌將每個人以及底牌設(shè)計為將最后張牌直接存放于底牌,剩余牌通過對取模依次發(fā)牌。存放的過程中要求數(shù)字大小與斗地主規(guī)則的大小對應(yīng)。 01Map集合概述 A:Map集合概述: 我們通過查看Map接口描述,發(fā)現(xiàn)Map接口下的集合與Collection接口下的集合,它們存儲數(shù)據(jù)的形式不同 ? a:Collection中的集...

    付倫 評論0 收藏0

發(fā)表評論

0條評論

XGBCCC

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<