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

資訊專欄INFORMATION COLUMN

Collections 里面的幾個(gè)你還不知道的方法

Shimmer / 833人閱讀

摘要:但這個(gè)類當(dāng)中還有幾個(gè)方法,估計(jì)你到現(xiàn)在還不知道,還在自己手寫(xiě)循環(huán)來(lái)實(shí)現(xiàn)。這個(gè)方法檢查兩個(gè)集合是否沒(méi)有相同元素。這個(gè)方法將集合中的指定元素全部替換成新元素。這個(gè)方法幫你將一個(gè)對(duì)象轉(zhuǎn)換為對(duì)象。

java.util.Collections 這個(gè)類你可能知道,也可能經(jīng)常用里面的像 sort()、reverse() 這樣的方法。但這個(gè)類當(dāng)中還有幾個(gè)方法,估計(jì)你到現(xiàn)在還不知道,還在自己手寫(xiě)循環(huán)來(lái)實(shí)現(xiàn)。

? boolean disjoint(Collection c1, Collection c2)`

這個(gè)方法檢查兩個(gè)集合是否沒(méi)有相同元素。如果存在相同元素則返回 false,否則返回 true。

? emptyList() / emptyMap() / emptySet()

這些方法創(chuàng)建空的 List / Map / Set。有人會(huì)問(wèn),我直接用 new ArrayList() 不就好了?其實(shí)區(qū)別在于,這些方法創(chuàng)建的空集合都是保證永遠(yuǎn)為空,不允許添加元素進(jìn)去的。

? void fill(List list, T obj)

這個(gè)方法用一個(gè)指定的對(duì)象來(lái)替換集合中的所有元素。比如你要對(duì)某個(gè)集合“清零”,同時(shí)保持集合的元素?cái)?shù)量不變,那么可以用這個(gè)方法。

? boolean replaceAll(List list, T oldVal, T newVal)

這個(gè)方法將集合中的指定元素全部替換成新元素。

? ArrayList list(Enumeration e)

這個(gè)方法幫你將一個(gè) Enumeration 對(duì)象轉(zhuǎn)換為 ArrayList 對(duì)象。比如說(shuō)我們要得到 HttpServletRequest 對(duì)象中所有的參數(shù)名,就可以寫(xiě):

ArrayList paramNames = Collections.list(request.getParameterNames());
? min(Collection coll) / max(Collection coll) / min(Collection coll, Comparator comp) / max(Collection coll, Comparator comp)

這些方法用來(lái)從集合中取最大最小值,你還可以傳入自定義的用來(lái)比較元素大小的方法。

? void rotate(List list, int distance)

這個(gè)方法用來(lái)“滾動(dòng)”集合的元素,比如當(dāng) distance 為 1 時(shí),表示所有元素向右滾動(dòng)一位,其中最后一個(gè)元素滾動(dòng)到第一位。

? void swap(List list, int i, int j)

這個(gè)方法用來(lái)交換 List 中第 i 位和第 j 位的元素。

? int frequency(Collection c, Object o)

這個(gè)方法返回指定的元素在集合中出現(xiàn)了多少次。如果參數(shù) o 為 null 的話,它同樣會(huì)返回 null 元素的個(gè)數(shù)。

? List nCopies(int n, T o)

這個(gè)方法返回包含 n 個(gè)相同元素的 List。注意 List 內(nèi)容是不可變的。有人會(huì)問(wèn),那這個(gè)方法有什么用呢?你可以用它結(jié)合 List.addAll() 來(lái)填充一個(gè)可變的 List。比如:

List list = new ArrayList<>();
...
list.addAll(Collections.nCopies(10, "A")); // 在 list 的末尾添加 10 個(gè) "A"

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

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

相關(guān)文章

  • [譯]14個(gè)你可能不知道JavaScript調(diào)試技巧

    摘要:在控制臺(tái)中使用,當(dāng)?shù)竭_(dá)傳入的函數(shù)時(shí),代碼將停止。但除了私有和匿名函數(shù)這可能是找到調(diào)試函數(shù)的最快方法。在控制臺(tái)中輸入,當(dāng)調(diào)用時(shí),將以調(diào)試模式停止屏蔽不相關(guān)代碼現(xiàn)在,我們經(jīng)常在應(yīng)用中引入幾個(gè)庫(kù)或框架。 譯者:SlaneYang原文:https://raygun.com/javascript-debugging-tips 以更快的速度和更高的效率來(lái)調(diào)試JavaScript 熟悉工具可以讓工具...

    CODING 評(píng)論0 收藏0
  • 自學(xué) JAVA 點(diǎn)建議

    摘要:自制力好的人,估計(jì)在保存后會(huì)翻出來(lái)看兩眼,過(guò)幾天又忘得一干二凈了。多思考學(xué)會(huì)思考,養(yǎng)成多思考的習(xí)慣。以項(xiàng)目來(lái)驅(qū)動(dòng)自己學(xué)習(xí),整個(gè)過(guò)程將會(huì)有趣得多。后語(yǔ)以上就是我對(duì)自學(xué)的幾點(diǎn)建議,希望對(duì)你們有幫助。 微信公眾號(hào):一個(gè)優(yōu)秀的廢人如有問(wèn)題或建議,請(qǐng)后臺(tái)留言,我會(huì)盡力解決你的問(wèn)題。 showImg(https://segmentfault.com/img/remote/1460000018208...

    klinson 評(píng)論0 收藏0
  • 8 個(gè)你可能不知道 Docker 知識(shí)

    摘要:在容器力所不能及的地方,虛擬機(jī)可以大顯身手??梢员苊猱a(chǎn)生一直是固定基礎(chǔ)設(shè)置的狂熱愛(ài)好者。 Docker 這個(gè)工具已經(jīng)出現(xiàn)很長(zhǎng)一段時(shí)間了,但是可能還有很多人對(duì) Docker 的概念不太清楚,因此這次翻譯 8 個(gè)你可能不知道的 Docker 知識(shí) 這篇文章,和大家介紹一下生產(chǎn)環(huán)境中的 Docker 用例。 自從上世紀(jì) 90 年代硬件虛擬化被主流的技術(shù)廣泛普及之后,對(duì)數(shù)據(jù)中心而言,...

    Nino 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<