日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

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

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

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

簡介

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

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

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

1. Collections.nCopies()

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

Collections工具類中ncopies()的內(nèi)部代碼如下:CGB28資訊網(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);    }

示例:CGB28資訊網(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中用于查找給定集合中指定元素的頻率。CGB28資訊網(wǎng)——每日最新資訊28at.com

內(nèi)部代碼:CGB28資訊網(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;    }

示例:CGB28資訊網(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ā)者就可以快速查找集合中是否存在共同元素,而無需對它們進行迭代。CGB28資訊網(wǎng)——每日最新資訊28at.com

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

示例:CGB28資訊網(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)異常。CGB28資訊網(wǎng)——每日最新資訊28at.com

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

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

示例:CGB28資訊網(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中將指定列表的元素向指定距離進行旋轉(zhuǎn)。CGB28資訊網(wǎng)——每日最新資訊28at.com

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

內(nèi)部代碼:CGB28資訊網(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);}

示例:CGB28資訊網(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ā)者可能會很有用。CGB28資訊網(wǎng)——每日最新資訊28at.com


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

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

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

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

下一篇: 使用 Google Wire 在 Go 中進行依賴注入

標(biāo)簽:
  • 熱門焦點
  • 5月iOS設(shè)備好評榜:iPhone 14僅排第43?

    來到新的一月,安兔兔的各個榜單又重新匯總了數(shù)據(jù),像安卓陣營的榜單都有著比較大的變動,不過iOS由于設(shè)備的更新?lián)Q代并沒有那么快,所以相對來說變化并不大,特別是iOS好評榜,老款設(shè)
  • 企業(yè)采用CRM系統(tǒng)的11個好處

    客戶關(guān)系管理(CRM)軟件可以為企業(yè)提供很多的好處,從客戶保留到提高生產(chǎn)力。  CRM軟件用于企業(yè)收集客戶互動,以改善客戶體驗和滿意度。  CRM軟件市場規(guī)模如今超過580
  • 本地生活這塊肥肉,拼多多也想吃一口

    出品/壹覽商業(yè) 作者/李彥編輯/木魚拼多多也看上本地生活這塊蛋糕了。近期,拼多多在App首頁&ldquo;充值中心&rdquo;入口上線了本機生活界面。壹覽商業(yè)發(fā)現(xiàn),該界面目前主要
  • 中國家電海外掘金正當(dāng)時|出海專題

    作者|吳南南編輯|胡展嘉運營|陳佳慧出品|零態(tài)LT(ID:LingTai_LT)2023年,出海市場戰(zhàn)況空前,中國創(chuàng)業(yè)者在海外紛紛摩拳擦掌,以期能夠把中國的商業(yè)模式、創(chuàng)業(yè)理念、戰(zhàn)略打法輸出海外,他們依
  • 造車兩年股價跌六成,小米的估值邏輯變了嗎?

    如果從小米官宣造車后的首個交易日起持有小米集團的股票,那么截至2023年上半年最后一個交易日,投資者將浮虧59.16%,同區(qū)間的恒生科技指數(shù)跌幅為52.78%
  • 三星電子Q2營收60萬億韓元 存儲業(yè)務(wù)營收同比仍下滑超過50%

    7月27日消息,據(jù)外媒報道,從三星電子所發(fā)布的財報來看,他們主要利潤來源的存儲芯片業(yè)務(wù)在今年二季度仍不樂觀,營收同比仍在大幅下滑,所在的設(shè)備解決方案
  • 三星Galaxy Z Fold5官方渲染圖曝光:13.4mm折疊厚度依舊感人

    據(jù)官方此前宣布,三星將于7月26日在韓國首爾舉辦Unpacked活動,屆時將帶來帶來包括Galaxy Buds 3、Galaxy Watch 6、Galaxy Tab S9、Galaxy Z Flip 5、
  • 2299元起!iQOO Pad明晚首銷:性能最強天璣平板

    5月23日,iQOO如期舉行了新品發(fā)布會,除了首發(fā)安卓最強旗艦處理器的iQOO Neo8系列新機外,還在發(fā)布會上推出了旗下首款平板電腦——iQOO Pad,其最大的賣點
  • 利用職權(quán)私自解除被封帳號 Meta開除20多名員工

    11月18日消息,據(jù)外媒援引知情人士表示,過去一年時間內(nèi),F(xiàn)acebook母公司Meta解雇或處罰了20多名員工以及合同工,指控這些人通過內(nèi)部系統(tǒng)以不當(dāng)方式重置用戶帳號,其
Top 主站蜘蛛池模板: 永顺县| 砚山县| 申扎县| 河南省| 东乡| 濉溪县| 图木舒克市| 定远县| 贵定县| 四平市| 太白县| 丰台区| 罗定市| 亚东县| 出国| 文成县| 衡阳市| 苍梧县| 井研县| 且末县| 行唐县| 吐鲁番市| 安庆市| 娄烦县| 尚义县| 阿拉善左旗| 丰都县| 漯河市| 康保县| 宁夏| 阿鲁科尔沁旗| 鄂托克前旗| 阜宁县| 高阳县| 邻水| 西青区| 阳谷县| 宣武区| 左云县| 双鸭山市| 安塞县|