java基礎(chǔ)-Collections、Collection與Arrays

Collections、Collection與Arrays

  • Conllection是一個(gè)集合接口,是List、set、Queue的接口。
    -Collections包含有各種有關(guān)集合操作的靜態(tài)方法,此類不能實(shí)例化,就像一個(gè)工具類。如Collections的排序方法sort 。
ArrayList<Integer> list=new ArrayList<>();
list.add(1);
list.add(2);
list.add(5);
list.add(3);
list.add(2);
//默認(rèn)升序,輸出1 2 2 3 5
Collections.sort(list);
//降序,輸出5 3 2 2 1
Collections.sort(list, new Comparator<Integer>() {
          @Override
          public int compare(Integer o1, Integer o2) {
              return o2-o1;
          }
      });
  • Arrays類能方便的操作數(shù)組,他提供的所有方法都是靜態(tài)的,主要方法:

給數(shù)組賦值:通過(guò)fill方法。
對(duì)數(shù)組排序:通過(guò)sort方法,按升序,有些重載方法可以傳入Comparator接口。
比較元素:通過(guò)equals方法比較數(shù)組中元素的值是否相等。
查找數(shù)組元素:通過(guò)binarySearch方法能對(duì)排序號(hào)的數(shù)組進(jìn)行二分法查找。

 public static void main(String[] args) {
     int[] inits = new int[10] ;
     
     //將數(shù)組全部賦值為2
     Arrays.fill(inits , 2) ;
     show(inits) ;
     //將數(shù)組的第4 、6 、賦值為1,
     Arrays.fill(inits,4 , 6 , 1) ;
     show(inits) ;
     //升序
     inits = new int[]{1,2,3,9,6,5,4,8,45,321};
     Arrays.sort(inits) ;
     show(inits) ;
     //下標(biāo)1-4的元素升序
     inits = new int[]{10,9,8,7,6,5,4,1,2,3};
     Arrays.sort(inits, 1 , 4) ;
     show(inits) ;
     
     //克隆
     int[] ints1 = inits.clone() ;
     System.out.println(Arrays.equals(ints1, inits)) ;
     
     
     int[] inits2 = new int[10] ;
     Arrays.fill(inits2, 8) ;
     System.out.println(Arrays.equals(inits, inits2)) ;
     
     //使用二分搜索算法查找指定元素所在的下標(biāo)(必須是排序好的,否則結(jié)果不正確)
     Arrays.sort(inits) ;
     //會(huì)返回第一個(gè)找到的下標(biāo)
     System.out.println(Arrays.binarySearch(inits,6));
     
 }

輸出
2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 ,
2 , 2 , 2 , 2 , 1 , 1 , 2 , 2 , 2 , 2 ,
1 , 2 , 3 , 4 , 5 , 6 , 8 , 9 , 45 , 321 ,
10 , 7 , 8 , 9 , 6 , 5 , 4 , 1 , 2 , 3 ,
true
false
5

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • java筆記第一天 == 和 equals ==比較的比較的是兩個(gè)變量的值是否相等,對(duì)于引用型變量表示的是兩個(gè)變量...
    jmychou閱讀 1,648評(píng)論 0 3
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語(yǔ)法,類相關(guān)的語(yǔ)法,內(nèi)部類的語(yǔ)法,繼承相關(guān)的語(yǔ)法,異常的語(yǔ)法,線程的語(yǔ)...
    子非魚_t_閱讀 34,728評(píng)論 18 399
  • 1.Java集合框架是什么?說(shuō)出一些集合框架的優(yōu)點(diǎn)? 每種編程語(yǔ)言中都有集合,最初的Java版本包含幾種集合類:V...
    Oneisall_81a5閱讀 962評(píng)論 0 10
  • Java 語(yǔ)言支持的類型分為兩類:基本類型和引用類型。整型(byte 1, short 2, int 4, lon...
    xiaogmail閱讀 1,450評(píng)論 0 10
  • 從三月份找實(shí)習(xí)到現(xiàn)在,面了一些公司,掛了不少,但最終還是拿到小米、百度、阿里、京東、新浪、CVTE、樂視家的研發(fā)崗...
    時(shí)芥藍(lán)閱讀 42,810評(píng)論 11 349

友情鏈接更多精彩內(nèi)容