欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java中Arrays類(lèi)和Collections類(lèi)常用方法示例詳解

 更新時(shí)間:2025年07月17日 11:35:18   作者:只是當(dāng)時(shí)已惘然——  
本文總結(jié)了Java中Arrays和Collections類(lèi)的常用方法,涵蓋數(shù)組填充、排序、搜索、復(fù)制、列表轉(zhuǎn)換等操作,幫助開(kāi)發(fā)者高效處理集合與數(shù)組數(shù)據(jù),感興趣的朋友跟隨小編一起看看吧

Arrays.fill()相關(guān)用法

    int arr[] = new int[5];
        //所有元素賦值為5
        Arrays.fill(arr,5);
        //從索引[1,3)賦值為1
        Arrays.fill(arr,1,3,1);
        //從索引[2,4)賦值為2
        Arrays.fill(arr,2,4,2);

Arrays.toString()

//將數(shù)組元素放入字符串中,可以方便快速打印數(shù)組元素
//底層實(shí)現(xiàn)
        //使用StringBuilder拼接字符串
        StringBuilder b = new StringBuilder();
        //在開(kāi)頭加[
        b.append('[');
        //遍歷數(shù)組拼接元素
        for (int i = 0; ; i++) {
            b.append(String.valueOf(a[i]));
            if (i == iMax)
                //末尾拼接]并轉(zhuǎn)為String類(lèi)型
                return b.append(']').toString();
            b.append(", ");
        }

Arrays.sort()

//排序,默認(rèn)為升序排序
        //[3, 3, 5, 2, 2]
        Arrays.sort(arr2);
        //打印結(jié)果:[2, 2, 3, 3, 5]
        System.out.println(Arrays.toString(arr2));
        //倒序排序,Collections.reverseOrder()返回一個(gè)比較器
        Arrays.sort(arr2, Collections.reverseOrder());

Arrays.equals() 

      //比較兩個(gè)數(shù)組中元素是否相等
        //相同:true,不同:false
        System.out.println(Arrays.equals(arr1,arr2));

Arrays.binarySearch() ????

       //二分查找元素是否存在數(shù)組
        int arr4[] = {1,3,3,3,3};
        //返回二分查找第一次匹配到元素的索引值,不保證返回的是第一個(gè)出現(xiàn)的位置,如果不存在則返回實(shí)際插入索引+1的負(fù)數(shù)
        //2
        System.out.println(Arrays.binarySearch(arr4,3));
        //-6
        System.out.println(Arrays.binarySearch(arr4,10));
        //數(shù)組區(qū)間查找,[0,3),返回第一次命中的下表
        System.out.println(Arrays.binarySearch(arr4,0,3,3));

Arrays.copyOf()和Arrays.copyOfRange()

  int arr5[] = {1,2,3,4,5};
        //拷貝前三個(gè)元素[1,2,3]
        int[] arr6 = Arrays.copyOf(arr5, 3);
        //拷貝下標(biāo)[2,5):[3,4,5]
        int[] arr7 = Arrays.copyOfRange(arr5, 2, 5);
        //若超過(guò)arr5長(zhǎng)度,后面元素補(bǔ)0:[3,4,5,0,0...]
        copyOfRange(arr5, 2, 9);

Arrays.asList()

//將對(duì)象數(shù)組轉(zhuǎn)為list集合,不能是基本類(lèi)型的數(shù)組
Integer arr8[] = {1,2,3,4,5};
List<Integer> list = Arrays.asList(arr8);

Collections.addAll()

List<Integer> list = new ArrayList<>();
//向集合中一次添加多個(gè)元素
Collections.addAll(list,2,4,3,23,43);

Collections.sort()

//根據(jù)類(lèi)型中實(shí)現(xiàn)的Comparable接口的compareTo()方法排序,或第二個(gè)參數(shù)放入自定義的比較器
Collections.sort(list);

Collections.binarySearch()

   //二分查找,獲取指定元素的索引,若未查找到,返回應(yīng)插入的元素位置的負(fù)數(shù)-(索引+1)
        int idx = Collections.binarySearch(list, 3);
        System.out.println("key 下標(biāo)為:"+ idx);

Collections.shuffle()

      Collections.addAll(list,2,4,3,23,43);
        Collections.sort(list);
        System.out.println(list);
        //打亂順序
        Collections.shuffle(list);
        System.out.println(list);

結(jié)果:

Collections.reverse()    ???????

    //翻轉(zhuǎn)元素順序
        Collections.reverse(list);
        System.out.println(list);

Collections.min() & Collections.max()

//根據(jù)元素類(lèi)型實(shí)現(xiàn)的Comparable接口中的compareTo()方法比較獲取最大值和最小值
        int max = Collections.max(list);
        System.out.println("最大值:" + max);
        int min = Collections.min(list);
        System.out.println("最小值:" + min);

Collections.fill()

//集合中所有元素設(shè)置為0
Collections.fill(list, 0);

Collections.swap()

//交換集合中兩個(gè)索引的元素
Collections.swap(list, 0, 2);

Collections.copy()

//拷貝一個(gè)集合到另一個(gè)集合中
        List<Integer> list2 = new ArrayList<>();
        List<Integer> list3 = new ArrayList<>();
        //將list3拷貝到list2中,list3的長(zhǎng)度必須小于等于list2
        Collections.addAll(list3,1,2,3,4,5);
        Collections.addAll(list2,0,0,0,0,0);
        Collections.copy(list2,list3);
        System.out.println(list2);

Collections.replaceAll()

       //集合中所有元素為2的值替換為100
        System.out.println(list2);
        Collections.replaceAll(list2,2,100);

到此這篇關(guān)于Java中Arrays類(lèi)和Collections類(lèi)常用方法的文章就介紹到這了,更多相關(guān)java arrays類(lèi)和collections類(lèi)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 值得收藏!教你如何在IDEA中快速查看Java字節(jié)碼

    值得收藏!教你如何在IDEA中快速查看Java字節(jié)碼

    開(kāi)發(fā)中如果我們想看JVM虛擬機(jī)怎么編譯我們的Java文件,生成字節(jié)碼的,用IDEA工具就可以查看,本篇文章就給大家詳細(xì)介紹,對(duì)正在學(xué)習(xí)java的小伙伴們很有幫助,需要的朋友可以參考下
    2021-05-05
  • Mybatis 中的insertOrUpdate操作

    Mybatis 中的insertOrUpdate操作

    這篇文章主要介紹了Mybatis 中的insertOrUpdate操作,代碼簡(jiǎn)單易懂,非常不錯(cuò)需要的的朋友參考下
    2016-12-12
  • Jmeter訪問(wèn)需要登錄的接口如何處理問(wèn)題

    Jmeter訪問(wèn)需要登錄的接口如何處理問(wèn)題

    這篇文章主要介紹了Jmeter訪問(wèn)需要登錄的接口如何處理問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • springboot實(shí)現(xiàn)配置文件關(guān)鍵信息加解密

    springboot實(shí)現(xiàn)配置文件關(guān)鍵信息加解密

    在項(xiàng)目配置文件中常常會(huì)配置如數(shù)據(jù)庫(kù)連接信息,redis連接信息等,連接密碼明文配置在配置文件中會(huì)很不安全,所以本文就來(lái)聊聊如何使用springboot實(shí)現(xiàn)配置文件關(guān)鍵信息加解密吧
    2025-05-05
  • Javafx利用fxml變換場(chǎng)景的實(shí)現(xiàn)示例

    Javafx利用fxml變換場(chǎng)景的實(shí)現(xiàn)示例

    本文主要介紹了Javafx利用fxml變換場(chǎng)景的實(shí)現(xiàn)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2024-07-07
  • JavaEE通過(guò)response實(shí)現(xiàn)請(qǐng)求重定向

    JavaEE通過(guò)response實(shí)現(xiàn)請(qǐng)求重定向

    這篇文章主要介紹了JavaEE通過(guò)response實(shí)現(xiàn)請(qǐng)求重定向的方法,非常的簡(jiǎn)單實(shí)用,有需要的朋友可以參考下
    2014-10-10
  • 詳解spring注解配置啟動(dòng)過(guò)程

    詳解spring注解配置啟動(dòng)過(guò)程

    這篇文章主要為大家詳細(xì)介紹了詳解spring注解配置啟動(dòng)過(guò)程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-10-10
  • springboot接入deepseek深度求索代碼示例(java版)

    springboot接入deepseek深度求索代碼示例(java版)

    這篇文章主要介紹了springboot接入deepseek深度求索的相關(guān)資料,包括創(chuàng)建APIKey,封裝詢問(wèn)工具方法,傳入問(wèn)題,調(diào)用方法,但發(fā)現(xiàn)只能回答簡(jiǎn)單問(wèn)題,需要的朋友可以參考下
    2025-01-01
  • 關(guān)于JDK15的新特性之TextBlocks文本塊的引入和使用

    關(guān)于JDK15的新特性之TextBlocks文本塊的引入和使用

    這篇文章主要介紹了關(guān)于JDK15的新特性之文本塊的引入和使用,如果具有一種語(yǔ)言學(xué)機(jī)制,可以比多行文字更直觀地表示字符串,而且可以跨越多行,而且不會(huì)出現(xiàn)轉(zhuǎn)義的視覺(jué)混亂,那么這將提高廣泛Java類(lèi)程序的可讀性和可寫(xiě)性,需要的朋友可以參考下
    2023-07-07
  • mybatis報(bào)錯(cuò)?resultMapException的解決

    mybatis報(bào)錯(cuò)?resultMapException的解決

    這篇文章主要介紹了mybatis報(bào)錯(cuò)?resultMapException的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-01-01

最新評(píng)論