国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

java Collections類 詳解

這篇具有很好參考價值的文章主要介紹了java Collections類 詳解。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

目錄

一、前言

二、Collections類簡介

三、Collections類常用方法演示

? ? ? ? 1.static void reverse(List list) :?

? ? ? ? ? ? ? ? Δ代碼演示 :?

? ? ? ? 2.static void shuffle(List list) :?

? ? ? ? ? ? ? ? Δ代碼演示 :?

? ? ? ? 3.static void sort(List list) :?

? ? ? ? ? ? ? ? Δ代碼演示 :?

? ? ? ? 4.static void sort(List list, Comparator c) :?

? ? ? ? ? ? ? ? Δ代碼演示 :?

? ? ? ? 5.static void swap(List list, int i, int j) :?

? ? ? ? ? ? ? ? Δ代碼演示 :?

? ? ? ? 6.static?T max(Collection coll) :?

? ? ? ? ? ? ? ? Δ代碼演示 :?

? ? ? ? 7.static?T min(Collection coll) :?

? ? ? ? ? ? ? ? Δ代碼演示 :?

? ? ? ? 8.static int frequency(Collection c, Object o) :?

? ? ? ? ? ? ? ? Δ代碼演示 :?

? ? ? ? 9.static void copy(List dest, List src) :?

? ? ? ? ? ? ? ? Δ代碼演示 :?

? ? ? ? 10.static boolean replaceAll(List list, T oldVal, T newVal) :?

? ? ? ? ? ? ? ? Δ代碼演示 :?

四、完結(jié)撒?


一、前言

  • 大家好,本篇博文是對java集合篇章之Collections類的內(nèi)容分享。
  • 注意 :?①代碼中的注釋也很重要;不要眼高手低,自己跟著敲一遍代碼才有收獲;點擊文章的側(cè)邊欄目錄或者文章開頭的目錄可以進行跳轉(zhuǎn)。
  • 良工不示人以樸,所有文章都會適時補充完善。大家如果有問題都可以在評論區(qū)進行交流或者私信up。感謝閱讀!

二、Collections類簡介

? ? ? ? Collections類是java提供的一個操作List,Set和Map等集合的工具類。Collections類中提供了一系列操作集合的靜態(tài)方法,使用這些方法可以實現(xiàn)對集合元素的排序、查詢、修改等操作
? ? ? ? Collections類位于java.base模塊,java.util包下,如下圖所示 :

java Collections類 詳解

三、Collections類常用方法演示

? ? ? ? 1.static void reverse(List<?> list) :?

? ? ? ? ? ? ? ? 該方法可以對當前List集合中的元素進行反轉(zhuǎn),顛倒集合中元素的順序。

? ? ? ? ? ? ? ? Δ代碼演示 :?

? ? ? ? ? ? ? ? up以Collections_Demo類為演示類,代碼如下 :?

package csdn.knowledge.api_tools.gather.collections;


import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

/**
 * @author : Cyan_RA9
 * @version : 21.0
 */
public class Collections_Demo {
    public static void main(String[] args) {
    //演示 : Collections類常用方法
        List list = new ArrayList();
        list.add(141);
        list.add(233);
        list.add(666);
        list.add(211);
        list.add(11);
        list.add(985);
        list.add(24);
        list.add(5);
        System.out.println("當前集合 = " + list);

        //1.static void reverse(List<?> list) : 反轉(zhuǎn)List集合中元素的順序
        Collections.reverse(list);
        System.out.println("反轉(zhuǎn)后的集合 = " + list);
    }
}

? ? ? ? ? ? ? ? 運行結(jié)果 :?

java Collections類 詳解

? ? ? ? 2.static void shuffle(List<?> list) :?

? ? ? ? ? ? ? ? 該方法可以對當前List集合進行“洗牌”,對List集合元素進行隨機排序,且每次“洗牌”都是隨機的。

? ? ? ? ? ? ? ? Δ代碼演示 :?

? ? ? ? ? ? ? ? 仍然以Collections_Demo類為演示類,代碼如下 :?

package csdn.knowledge.api_tools.gather.collections;


import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

public class Collections_Demo {
    public static void main(String[] args) {
    //演示 : Collections類常用方法
        List list = new ArrayList();

        list.add("Cyan");
        list.add("RA9");
        list.add("CSDN YYDS");
        list.add("Ice");
        list.add("Bob");
        list.add("Kyrie");
        list.add("Irving");
        System.out.println("當前集合 = " + list);
        //2.static void shuffle(List<?> list) : “洗牌”
        Collections.shuffle(list);
        System.out.println("洗牌后的集合 = " + list);
        Collections.shuffle(list);
        System.out.println("洗牌后的集合 = " + list);
        Collections.shuffle(list);
        System.out.println("洗牌后的集合 = " + list);
    }
}

? ? ? ? ? ? ? ? 運行結(jié)果 :?

java Collections類 詳解

? ? ? ? 3.static void sort(List<T> list) :?

? ? ? ? ? ? ? ? 該方法可以根據(jù)元素的自然順序?qū)χ付ǖ腖ist集合進行升序排序。

? ? ? ? ? ? ? ? Δ代碼演示 :?

? ? ? ? ? ? ? ? 仍然以Collections_Demo類為演示類,代碼如下 :?

package csdn.knowledge.api_tools.gather.collections;


import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

public class Collections_Demo {
    public static void main(String[] args) {
    //演示 : Collections類常用方法
        List list = new ArrayList();
        list.add(141);
        list.add(233);
        list.add(666);
        list.add(211);
        list.add(11);
        list.add(985);
        list.add(24);
        list.add(5);
        System.out.println("當前集合 = " + list);

        //3.static void sort(List<T> list) : 升序排序
        Collections.sort(list);
        System.out.println("排序后的集合 = " + list);
    }
}

? ? ? ? ? ? ? ? 運行結(jié)果 :?

java Collections類 詳解

? ? ? ? 4.static <T> void sort(List<T> list, Comparator<? super T> c) :?

? ? ? ? ? ? ? ? 該方法可以根據(jù)指定的Comparator指定的順序?qū)χ付ǖ腖ist集合進行升序排序。

? ? ? ? ? ? ? ? Δ代碼演示 :?

? ? ? ? ? ? ? ? 仍然以Collections_Demo類為演示類,我們可以通過在匿名內(nèi)部類中重寫compare方法,更改排序的規(guī)則,比如說我們可以令List集合降序排列。代碼如下 :?

package csdn.knowledge.api_tools.gather.collections;


import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;

public class Collections_Demo {
    public static void main(String[] args) {
    //演示 : Collections類常用方法
        List list = new ArrayList();
        list.add(141);
        list.add(233);
        list.add(666);
        list.add(211);
        list.add(11);
        list.add(985);
        list.add(24);
        list.add(5);
        System.out.println("當前集合 = " + list);

        //4.static <T> void sort(List<T> list, Comparator<? super T> c) : 指定排序
        Collections.sort(list, new Comparator<Object>() {
            @Override
            public int compare(Object o1, Object o2) {
                if (o1 instanceof Integer && o2 instanceof Integer)
                    return (Integer)o2 - (Integer)o1;
                return -1;
            }
        });
        System.out.println("排序后的集合 = " + list);
    }
}

? ? ? ? ? ? ? ? 運行結(jié)果 :?

java Collections類 詳解

? ? ? ? 5.static void swap(List<?> list, int i, int j) :?

? ? ? ? ? ? ? ? 該方法可以將指定List集合中的i元素和j元素進行交換。

? ? ? ? ? ? ? ? Δ代碼演示 :?

? ? ? ? ? ? ? ? 仍然以Collections_Demo類為演示類,代碼如下 :??

package csdn.knowledge.api_tools.gather.collections;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

public class Collections_Demo {
    public static void main(String[] args) {
    //演示 : Collections類常用方法
        List list = new ArrayList();
        list.add(141);
        list.add(233);
        list.add(666);
        list.add(211);
        list.add(11);
        list.add(985);
        list.add(24);
        list.add(5);
        System.out.println("當前集合 = " + list);

        //5.static void swap(List<?> list, int i, int j) : 指向元素進行交換
        Collections.swap(list, 0, list.size() - 1);

        System.out.println("交換元素后的集合 = " + list);
    }
}

? ? ? ? ? ? ? ? 運行結(jié)果 :??

java Collections類 詳解

? ? ? ? 6.static?T max(Collection<? extends T> coll) :?

? ? ? ? ? ? ? ? 該方法可以根據(jù)元素的自然順序,獲取集合中的最大值。

? ? ? ? ? ? ? ? Δ代碼演示 :?

? ? ? ? ? ? ? ? 仍然以Collections_Demo類為演示類,代碼如下 :??

package csdn.knowledge.api_tools.gather.collections;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

public class Collections_Demo {
    public static void main(String[] args) {
    //演示 : Collections類常用方法
        List list = new ArrayList();
        list.add(141);
        list.add(233);
        list.add(666);
        list.add(211);
        list.add(11);
        list.add(985);
        list.add(24);
        list.add(5);
        System.out.println("當前集合 = " + list);

        //6.static T max(Collection<? extends T> coll) : 獲取集合中的最大值
        int max = (int) Collections.max(list);
        
        System.out.println("當前集合中最大的元素 = " + max);
    }
}

? ? ? ? ? ? ? ? 運行結(jié)果 :?

java Collections類 詳解

? ? ? ? 7.static?T min(Collection<? extends T> coll) :?

? ? ? ? ? ? ? ? 該方法可以根據(jù)元素的自然順序,獲取集合中的最小值。

? ? ? ? ? ? ? ? Δ代碼演示 :?

? ? ? ? ? ? ? ? 仍然以Collections_Demo類為演示類,代碼如下 :??

package csdn.knowledge.api_tools.gather.collections;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

public class Collections_Demo {
    public static void main(String[] args) {
    //演示 : Collections類常用方法
        List list = new ArrayList();
        list.add(141);
        list.add(233);
        list.add(666);
        list.add(211);
        list.add(11);
        list.add(985);
        list.add(24);
        list.add(5);
        System.out.println("當前集合 = " + list);

        //7.static T min(Collection<? extends T> coll) : 獲取集合中的最小值
        int min = (int) Collections.min(list);

        System.out.println("當前集合中最大的元素 = " + min);
    }
}

? ? ? ? ? ? ? ? 運行結(jié)果 :?

java Collections類 詳解

? ? ? ? 8.static int frequency(Collection<?> c, Object o) :?

? ? ? ? ? ? ? ? 該方法可以返回指定元素在指定集合中一共出現(xiàn)的次數(shù)。

? ? ? ? ? ? ? ? Δ代碼演示 :?

? ? ? ? ? ? ? ? 仍然以Collections_Demo類為演示類,代碼如下 :???

package csdn.knowledge.api_tools.gather.collections;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

public class Collections_Demo {
    public static void main(String[] args) {
    //演示 : Collections類常用方法
        List list = new ArrayList();
        list.add(141);
        list.add(233);
        list.add(666);
        list.add(5);
        list.add(11);
        list.add(11);
        list.add(11);
        list.add(5);
        System.out.println("當前集合 = " + list);

        //8.static int frequency(Collection<?> c, Object o) :獲取指定元素在指定集合中出現(xiàn)的次數(shù)
        int times_0 = Collections.frequency(list, 11);
        int times_1 = Collections.frequency(list, 233);
        int times_2 = Collections.frequency(list, 5);

        System.out.println("\n11在list集合中出現(xiàn)的次數(shù) = " + times_0);
        System.out.println("233在list集合中出現(xiàn)的次數(shù) = " + times_1);
        System.out.println("5在list集合中出現(xiàn)的次數(shù) = " + times_2);
    }
}

? ? ? ? ? ? ? ? 運行結(jié)果 :?

java Collections類 詳解

? ? ? ? 9.static <T> void copy(List<? super T> dest, List<? extends T> src) :?

? ? ? ? ? ? ? ? 該方法可以將指定的舊集合中的元素拷貝到指定的新集合中。當新集合的長度小于舊集合時,拋出下標越界異常。

? ? ? ? ? ? ? ? Δ代碼演示 :?

? ? ? ? ? ? ? ? 仍然以Collections_Demo類為演示類,代碼如下 :???

package csdn.knowledge.api_tools.gather.collections;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

public class Collections_Demo {
    public static void main(String[] args) {
    //演示 : Collections類常用方法
        List list = new ArrayList();
        list.add(141);
        list.add(233);
        list.add(666);
        list.add(5);
        list.add(11);
        list.add(11);
        list.add(11);
        list.add(5);
        System.out.println("當前集合 = " + list);

        //9.static <T> void copy(List<? super T> dest, List<? extends T> src) : 將舊集合中的內(nèi)容拷貝到新集合中
        List list2 = new ArrayList();
        try {
            Collections.copy(list2, list);
        } catch (Exception e) {
            System.out.print("新集合的長度小于舊集合時不能直接拷貝,否則拋出以下異常:");
            System.out.println(e.toString());
        }

        for (int i = 0; i < list.size(); ++i) {
            list2.add(null);
        }

        Collections.copy(list2, list);
        System.out.println("拷貝后的新集合 = " + list2);
    }
}

? ? ? ? ? ? ? ? 運行結(jié)果 :?

java Collections類 詳解

? ? ? ? 10.static <T> boolean replaceAll(List<T> list, T oldVal, T newVal) :?

? ? ? ? ? ? ? ? 該方法可以將集合中指定的舊值全部替換為指定的新值。

? ? ? ? ? ? ? ? Δ代碼演示 :?

? ? ? ? ? ? ? ? 仍然以Collections_Demo類為演示類,代碼如下 :???

package csdn.knowledge.api_tools.gather.collections;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

public class Collections_Demo {
    public static void main(String[] args) {
    //演示 : Collections類常用方法
        List list = new ArrayList();

        list.add("Cyan");
        list.add("RA9");
        list.add("CSDN YYDS");
        list.add("Cyan");
        list.add("Cyan");
        list.add("Kyrie");
        list.add("Irving");
        System.out.println("當前集合 = " + list);
        //10.static <T> boolean replaceAll(List<T> list, T oldVal, T newVal) : 用新值替換集合中的舊值
        Collections.replaceAll(list, "Cyan", "Ice");
        System.out.println("將\"Cyan\"全部替換為\"Ice\"后,集合為 = ");
        System.out.println(list);
    }
}

? ? ? ? ? ? ? ? 運行結(jié)果 :??

java Collections類 詳解

四、完結(jié)撒?

? ? ? ? ??,以上就是Collections類的全部內(nèi)容了。內(nèi)容本身沒什么難度,主要是常用方法的匯總和演示,所見即所得。接下來,up將會和大家分享Java——泛型篇章的內(nèi)容,我們不見不散。感謝閱讀!

? ? ? ? System.out.println("END-------------------------------------------");?文章來源地址http://www.zghlxwxcb.cn/news/detail-408304.html

到了這里,關(guān)于java Collections類 詳解的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • Java Collections類排序?qū)W習

    jdk自帶排序?qū)W習,比如我們寫一個排序代碼 來看一下sort的實現(xiàn) 繼續(xù)跟進 如果沒有自定義排序就執(zhí)行默認排序 legacyMergeSort 歸并排序默認關(guān)閉的,重點關(guān)注?ComparableTimSort.sort 如果小于 private static final int MIN_MERGE = 32;大小就進行折半插入排序,如果大于32進行 TimSort排序 Timsort是

    2024年01月23日
    瀏覽(19)
  • Java - 集合工具類Collections

    Java - 集合工具類Collections

    前言 二.collections提供的方法 ?三. 方法詳解 1.addAll:將所有指定元素添加到指定 collection 中。 可變參數(shù) ?添加方式 二.shuffle():隨機打亂List集合中的元素? 三.?sort():對List集合進行排序; 實現(xiàn)compatator,重寫comapre方法,自定義比較規(guī)則 ?總結(jié) 大家好啊,又見面了,今天給大家講一

    2024年02月06日
    瀏覽(23)
  • 【Java 21 新特性 】順序集合(Sequenced Collections)

    【Java 21 新特性 】順序集合(Sequenced Collections)

    Java 21 中增加了一種新的集合類型:順序集合(Sequenced Collections)。 要介紹順序集合,就首先要說明一下出現(xiàn)順序(encounter order)。出現(xiàn)順序指的是在遍歷一個集合時,集合中元素的出現(xiàn)順序。 有些集合類型,有確定的出現(xiàn)順序,比如? List 。不管遍歷多少次這樣的集合,其

    2024年02月05日
    瀏覽(25)
  • Java 21新特性:Sequenced Collections(有序集合)

    在JDK 21中,Sequenced Collections的引入帶來了新的接口和方法來簡化集合處理。此增強功能旨在解決訪問Java中各種集合類型的第一個和最后一個元素需要非統(tǒng)一且麻煩處理場景。 下面一起通過本文來了解一下不同集合處理示例。 Sequenced Collections引入了三個新接口: SequencedColle

    2024年02月08日
    瀏覽(19)
  • 【Java 21 新特性】順序集合(Sequenced Collections)

    【Java 21 新特性】順序集合(Sequenced Collections)

    引入新的接口表示具有定義的遇到順序的集合。每個這樣的集合都有一個明確定義的第一個元素、第二個元素,依此類推,直到最后一個元素。提供統(tǒng)一的API來訪問它的第一個和最后一個元素,并以相反的順序處理它的元素。 \\\"生活只能向后理解;但必須向前生活。\\\"—基爾克

    2024年02月03日
    瀏覽(20)
  • 【java學習—十】操作集合的工具類Collections(8)

    【java學習—十】操作集合的工具類Collections(8)

    ???? Collections 是一個操作 Set 、 List 和 Map 等集合的工具類 ???? Collections 中提供了大量方法對集合元素進行排序、查詢和修改等操作,還提供了對集合對象設(shè)置不可變、對集合對象實現(xiàn)同步控制等方法。 ???? 排序操作: ????? reverse(List) :反轉(zhuǎn) List 中元素

    2024年02月06日
    瀏覽(26)
  • Java代碼審計——Commons Collections5 BadAttributeValueExpException

    Java代碼審計——Commons Collections5 BadAttributeValueExpException

    反序列化總綱 cc鏈無非就是不同的調(diào)用拼接在一起形成的,比如cc5就是在cc1的基礎(chǔ)上進行調(diào)用調(diào)整的。 在LazyMap的基礎(chǔ)上,發(fā)現(xiàn)了一個新的調(diào)用方式,就是通過 TiedMapEntry+BadAttributeValueExpException的方式進行調(diào)用的。 在之前,我們知道LazyMap需要調(diào)用get方法才可以觸發(fā),那么我們

    2023年04月16日
    瀏覽(15)
  • Java中Collection與Collections有什么區(qū)別?Java常見面試題解析

    Java中Collection與Collections有什么區(qū)別?Java常見面試題解析

    本文將為大家詳細講解Java中Collection與Collections的區(qū)別點,這是我們進行開發(fā)時經(jīng)常用到的知識點,也是大家在學習Java中很重要的一個知識點,更是我們在面試時有可能會問到的問題! 文章較長,干貨滿滿,建議大家收藏慢慢學習。文末有本文重點總結(jié),主頁有全系列文章分

    2024年02月06日
    瀏覽(18)
  • Java代碼審計——Commons Collections AnnotationInvocationHandler readObject調(diào)用鏈

    Java代碼審計——Commons Collections AnnotationInvocationHandler readObject調(diào)用鏈

    反序列化總綱 觀看順序: Java代碼審計——Commons Collections 迭代調(diào)用鏈 Java代碼審計——Commons Collections TransformedMap調(diào)用鏈 AnnotationInvocationHandler作為Commons Collections最后一個觸發(fā)階段調(diào)用鏈來進行學習 首先來說AnnotationInvocationHandler,這個類是繼承InvocationHandler,我們主要是要通過

    2023年04月08日
    瀏覽(18)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包