成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

Collections工具類的概述以及用法

XGBCCC / 1907人閱讀

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

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

前言

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

正文

Collections工具類是java.util包中的一個工具類,主要功能是對集合及其元素進行操作。雖然被問的有點懵,在結束查看官方文檔時發(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

集合間的轉換

特征

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

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

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

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

集合內元素的操作
添加元素到集合中

特征

addAll

copy(將源集合元素復制到目標集合中)

適用范圍

addAll

Collection

copy

List

查找元素

特征

binarySearch(二分查找特定元素)

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

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

subIndexOfSubList(返回目標list在源list的結束位置)

shuffle(返回隨機索引元素)

適用范圍

binarySearch

List

frequency

Collection

shuffle

List

替換

特征

fill(替換集合所有元素)

replaceAll(替換特定的值)

適用范圍

fill

List

replaceAll

List

改變元素位置

特征

sort(排序)

swap

rotate(反轉)

reverse

適用范圍

List

對比元素

特征

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

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

適用范圍

Collection

總結

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

集合類級操作

返回線程安全集合

返回不可變集合

返回安全視圖

集合間的轉換

涉及到內部元素的操作

添加元素到集合中

查找特定元素

替換元素

改變元素位置

元素間的比較

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

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

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

轉載請注明本文地址:http://m.hztianpu.com/yun/77842.html

相關文章

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

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

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

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

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

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

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

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

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

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

    付倫 評論0 收藏0

發(fā)表評論

0條評論

XGBCCC

|高級講師

TA的文章

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