Java中Arrays類和Collections類常用方法示例詳解
Arrays.fill()相關用法
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ù)組元素
//底層實現(xiàn)
//使用StringBuilder拼接字符串
StringBuilder b = new StringBuilder();
//在開頭加[
b.append('[');
//遍歷數(shù)組拼接元素
for (int i = 0; ; i++) {
b.append(String.valueOf(a[i]));
if (i == iMax)
//末尾拼接]并轉(zhuǎn)為String類型
return b.append(']').toString();
b.append(", ");
}Arrays.sort()
//排序,默認為升序排序
//[3, 3, 5, 2, 2]
Arrays.sort(arr2);
//打印結(jié)果:[2, 2, 3, 3, 5]
System.out.println(Arrays.toString(arr2));
//倒序排序,Collections.reverseOrder()返回一個比較器
Arrays.sort(arr2, Collections.reverseOrder());Arrays.equals()
//比較兩個數(shù)組中元素是否相等
//相同:true,不同:false
System.out.println(Arrays.equals(arr1,arr2));Arrays.binarySearch() ????
//二分查找元素是否存在數(shù)組
int arr4[] = {1,3,3,3,3};
//返回二分查找第一次匹配到元素的索引值,不保證返回的是第一個出現(xiàn)的位置,如果不存在則返回實際插入索引+1的負數(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};
//拷貝前三個元素[1,2,3]
int[] arr6 = Arrays.copyOf(arr5, 3);
//拷貝下標[2,5):[3,4,5]
int[] arr7 = Arrays.copyOfRange(arr5, 2, 5);
//若超過arr5長度,后面元素補0:[3,4,5,0,0...]
copyOfRange(arr5, 2, 9);Arrays.asList()
//將對象數(shù)組轉(zhuǎn)為list集合,不能是基本類型的數(shù)組
Integer arr8[] = {1,2,3,4,5};
List<Integer> list = Arrays.asList(arr8);Collections.addAll()
List<Integer> list = new ArrayList<>(); //向集合中一次添加多個元素 Collections.addAll(list,2,4,3,23,43);
Collections.sort()
//根據(jù)類型中實現(xiàn)的Comparable接口的compareTo()方法排序,或第二個參數(shù)放入自定義的比較器 Collections.sort(list);
Collections.binarySearch()
//二分查找,獲取指定元素的索引,若未查找到,返回應插入的元素位置的負數(shù)-(索引+1)
int idx = Collections.binarySearch(list, 3);
System.out.println("key 下標為:"+ 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ù)元素類型實現(xiàn)的Comparable接口中的compareTo()方法比較獲取最大值和最小值
int max = Collections.max(list);
System.out.println("最大值:" + max);
int min = Collections.min(list);
System.out.println("最小值:" + min);Collections.fill()
//集合中所有元素設置為0 Collections.fill(list, 0);
Collections.swap()
//交換集合中兩個索引的元素 Collections.swap(list, 0, 2);
Collections.copy()
//拷貝一個集合到另一個集合中
List<Integer> list2 = new ArrayList<>();
List<Integer> list3 = new ArrayList<>();
//將list3拷貝到list2中,list3的長度必須小于等于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);到此這篇關于Java中Arrays類和Collections類常用方法的文章就介紹到這了,更多相關java arrays類和collections類內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
JavaWeb中使用JavaMail實現(xiàn)發(fā)送郵件功能實例詳解
這篇文章主要介紹了JavaWeb中使用JavaMail實現(xiàn)發(fā)送郵件功能的實例代碼,非常不錯具有參考借鑒價值,感興趣的朋友一起看看吧2016-05-05
使用Springboot實現(xiàn)OAuth服務的示例詳解
OAuth(Open Authorization)是一個開放標準,用于授權(quán)第三方應用程序訪問用戶資源,而不需要共享用戶憑證。本文主要介紹了如何使用Springboot實現(xiàn)一個OAuth服務,需要的可以參考一下2023-05-05
MyBatis-plus更新對象時將字段值更新為null的實現(xiàn)方式
mybatis-plus在執(zhí)行更新操作,當更新字段為 空字符串 或者 null 的則不會執(zhí)行更新,如果要將指定字段更新null,可以通過以下三種方式實現(xiàn),感興趣的小伙伴跟著小編一起來看看吧2023-10-10
Spring?@EventListener?異步中使用condition的問題及處理
這篇文章主要介紹了Spring?@EventListener?異步中使用condition的問題及處理方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-12-12
從零開始Java實現(xiàn)Parser?Combinator
這篇文章主要為大家介紹了從零開始Java實現(xiàn)Parser?Combinator過程及原理詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-05-05
Mybatis Plus 增刪改查的實現(xiàn)(小白教程)
本文主要介紹了Mybatis Plus 增刪改查,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-09-09
Java無需解壓直接讀取ZIP壓縮包里的文件及內(nèi)容
最近開發(fā)的時候遇到要獲取到zip壓縮包里面的文件內(nèi)容,解決方案就是通過ZipInputStream來讀取,下面通過實例代碼介紹Java無需解壓直接讀取ZIP壓縮包里的文件及內(nèi)容,感興趣的朋友跟隨小編一起看看吧2024-03-03

