AVt天堂网 手机版,亚洲va久久久噜噜噜久久4399,天天综合亚洲色在线精品,亚洲一级Av无码毛片久久精品

當(dāng)前位置:首頁 > 科技  > 軟件

Java中五個鮮為人知的Collections特性

來源: 責(zé)編: 時間:2024-05-07 09:09:31 130觀看
導(dǎo)讀簡介圖片Java Collections框架提供了一套全面的接口和類,以高效地處理集合。Collections工具類提供了一些鮮為人知的功能。在本文中,我們將通過簡單的示例來探討這些鮮為人知的功能。1. Collections.nCopies()這個方法

簡介

圖片圖片fk428資訊網(wǎng)——每日最新資訊28at.com

Java Collections框架提供了一套全面的接口和類,以高效地處理集合。Collections工具類提供了一些鮮為人知的功能。fk428資訊網(wǎng)——每日最新資訊28at.com

在本文中,我們將通過簡單的示例來探討這些鮮為人知的功能。fk428資訊網(wǎng)——每日最新資訊28at.com

1. Collections.nCopies()

這個方法在Java中會返回一個不可變的列表,其中包含指定對象的n個副本。fk428資訊網(wǎng)——每日最新資訊28at.com

Collections工具類中ncopies()的內(nèi)部代碼如下:fk428資訊網(wǎng)——每日最新資訊28at.com

public static  List nCopies(int n, T o) {        if (n < 0)            throw new IllegalArgumentException("List length = " + n);        return new CopiesList<>(n, o);    }

示例:fk428資訊網(wǎng)——每日最新資訊28at.com

public static void nCopies(){     List tests = Collections.nCopies(10, "test");     System.out.println(tests);}
[test, test, test, test, test, test, test, test, test, test]

2. Collections.frequency()

這個方法在Java中用于查找給定集合中指定元素的頻率。fk428資訊網(wǎng)——每日最新資訊28at.com

內(nèi)部代碼:fk428資訊網(wǎng)——每日最新資訊28at.com

public static int frequency(Collection c, Object o) {        int result = 0;        if (o == null) {            for (Object e : c)                if (e == null)                    result++;        } else {            for (Object e : c)                if (o.equals(e))                    result++;        }        return result;    }

示例:fk428資訊網(wǎng)——每日最新資訊28at.com

public static void frequency(){      List integers = List.of(1, 2, 3, 4, 5, 1, 2, 3, 2, 3, 4);      int frequency = Collections.frequency(integers, 3);      System.out.println(frequency); }    public static void singleton(){        Set singleElement = Collections.singleton("Hello world");        System.out.println(singleElement);        singleElement.add("test");    }    public static void singleton(){        Set singleElement = Collections.singleton("Hello world");        System.out.println(singleElement);        singleElement.add("test");    }

3. Collections.disjoint()

這個方法在Java中提供了一種檢查兩個集合是否有任何共同元素的方法,如果有,則返回true,否則返回false。借助這個功能,開發(fā)者就可以快速查找集合中是否存在共同元素,而無需對它們進(jìn)行迭代。fk428資訊網(wǎng)——每日最新資訊28at.com

public static boolean disjoint(Collection c1, Collection c2) { }

示例:fk428資訊網(wǎng)——每日最新資訊28at.com

public static void disjoint(){     List integers = List.of(1, 2, 3, 4);     List integers1 = List.of(5, 6);     boolean disjoint = Collections.disjoint(integers1, integers);     System.out.println(disjoint);             List integers2 = List.of(1, 2, 3, 4);     boolean disjoint1 = Collections.disjoint(integers2, integers);     System.out.println(disjoint1);}
truefalse

4.Collections.singleton()

這個方法在Java中用于創(chuàng)建只包含單個元素的不可變集合。該方法返回一個僅包含單個元素的不可變Set。如果嘗試添加或刪除元素,就會出現(xiàn)異常。fk428資訊網(wǎng)——每日最新資訊28at.com

內(nèi)部代碼:fk428資訊網(wǎng)——每日最新資訊28at.com

public static  Set singleton(T o) {    return new SingletonSet<>(o);}

示例:fk428資訊網(wǎng)——每日最新資訊28at.com

public static void singleton(){        Set singleElement = Collections.singleton("Hello world");        System.out.println(singleElement);        singleElement.add("test");    }
[Hello world]Exception in thread "main" java.lang.UnsupportedOperationException at java.base/java.util.AbstractCollection.add(AbstractCollection.java:251) at misc.JavaCollectionFeatures.singleton(JavaCollectionFeatures.java:41) at misc.JavaCollectionFeatures.main(JavaCollectionFeatures.java:13)

5.Collections.rotate()

這個方法在Java中將指定列表的元素向指定距離進(jìn)行旋轉(zhuǎn)。fk428資訊網(wǎng)——每日最新資訊28at.com

該方法對列表中的元素執(zhí)行回環(huán)變位(circular rotation),根據(jù)指定的距離有效地將它們向左或向右移動。fk428資訊網(wǎng)——每日最新資訊28at.com

內(nèi)部代碼:fk428資訊網(wǎng)——每日最新資訊28at.com

public static void rotate(List list, int distance) {      if (list instanceof RandomAccess || list.size() < ROTATE_THRESHOLD)          rotate1(list, distance);      else          rotate2(list, distance);}

示例:fk428資訊網(wǎng)——每日最新資訊28at.com

public static void rotate(){     List integers = Arrays.asList(1, 2, 3, 4, 5, 3, 5, 5, 6);     Collections.rotate(integers, 6);     System.out.println(integers);             List integers1 = Arrays.asList(1, 2, 3, 4, 5, 3, 5, 5, 6);     Collections.rotate(integers1, 10);     System.out.println(integers1);             List integers2 = Arrays.asList(1, 2, 3, 4, 5, 3, 5, 5, 6);     Collections.rotate(integers2, -3);     System.out.println(integers2);}
[4, 5, 3, 5, 5, 6, 1, 2, 3][6, 1, 2, 3, 4, 5, 3, 5, 5][4, 5, 3, 5, 5, 6, 1, 2, 3]

結(jié)論

在本文中,我們探討了Collections工具類的一些鮮為人知的功能。雖然Java Collections工具類提供了豐富的功能,但有一些鮮為人知的功能在某些情況下對開發(fā)者可能會很有用。fk428資訊網(wǎng)——每日最新資訊28at.com


fk428資訊網(wǎng)——每日最新資訊28at.com

本文鏈接:http://www.tebozhan.com/showinfo-26-86990-0.htmlJava中五個鮮為人知的Collections特性

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: 前端開發(fā)小技巧匯總

下一篇: 使用 Google Wire 在 Go 中進(jìn)行依賴注入

標(biāo)簽:
  • 熱門焦點
  • 28個SpringBoot項目中常用注解,日常開發(fā)、求職面試不再懵圈

    前言在使用SpringBoot開發(fā)中或者在求職面試中都會使用到很多注解或者問到注解相關(guān)的知識。本文主要對一些常用的注解進(jìn)行了總結(jié),同時也會舉出具體例子,供大家學(xué)習(xí)和參考。注解
  • CSS單標(biāo)簽實現(xiàn)轉(zhuǎn)轉(zhuǎn)logo

    轉(zhuǎn)轉(zhuǎn)品牌升級后更新了全新的Logo,今天我們用純CSS來實現(xiàn)轉(zhuǎn)轉(zhuǎn)的新Logo,為了有一定的挑戰(zhàn)性,這里我們只使用一個標(biāo)簽實現(xiàn),將最大化的使用CSS能力完成Logo的繪制與動畫效果。新logo
  • 這款新興工具平臺,讓你的電腦效率翻倍

    隨著信息技術(shù)的發(fā)展,我們獲取信息的渠道越來越多,但是處理信息的效率卻成為一個瓶頸。于是各種工具應(yīng)運而生,都在爭相解決我們的工作效率問題。今天我要給大家介紹一款效率
  • 一文掌握 Golang 模糊測試(Fuzz Testing)

    模糊測試(Fuzz Testing)模糊測試(Fuzz Testing)是通過向目標(biāo)系統(tǒng)提供非預(yù)期的輸入并監(jiān)視異常結(jié)果來發(fā)現(xiàn)軟件漏洞的方法??梢杂脕戆l(fā)現(xiàn)應(yīng)用程序、操作系統(tǒng)和網(wǎng)絡(luò)協(xié)議等中的漏洞或
  • 當(dāng)家的盒馬,加速謀生

    來源 | 價值星球Planet作者 | 歸去來自己&ldquo;當(dāng)家&rdquo;的盒馬,開始加速謀生了。據(jù)盒馬官微消息,盒馬計劃今年開放生鮮供應(yīng)鏈,將其生鮮商品送往食堂。目前,盒馬在上海已經(jīng)與
  • 東方甄選單飛:有些鳥注定是關(guān)不住的

    作者:彭寬鴻來源:華爾街科技眼&zwj;&zwj;&zwj;&zwj;&zwj;&zwj;&zwj;&zwj;&zwj;&zwj;東方甄選創(chuàng)始人俞敏洪帶隊的&ldquo;7天甘肅行&rdquo;直播活動已在近日順利收官。成立后一
  • 消息稱小米汽車開始篩選交付中心:需至少120個車位

    IT之家 7 月 7 日消息,日前,有微博簡介為“汽車行業(yè)從業(yè)者、長三角一體化擁護(hù)者”的微博用戶 @長三角行健者 發(fā)文表示,據(jù)經(jīng)銷商集團(tuán)反饋,小米汽車目前
  • 華為Mate60系列模具曝光:采用碩大圓形后置相機(jī)模組+拼接配色方案

    據(jù)此前多方爆料,今年華為將開始恢復(fù)一年雙旗艦戰(zhàn)略,除上半年推出的P60系列外,往年下半年的Mate系列也將迎來更新,有望在9-10月份帶來全新的華為Mate60
  • 滴滴違法違規(guī)被罰80.26億 共存在16項違法事實

    滴滴違法違規(guī)被罰80.26億 存在16項違法事實開始于2121年7月,歷經(jīng)一年時間,網(wǎng)絡(luò)安全審查辦公室對“滴滴出行”網(wǎng)絡(luò)安全審查終于有了一個暫時的結(jié)束。據(jù)“網(wǎng)信
Top