Arrays庫的數組的常用方法

來源:互聯網
上載者:User
1.  數組的查詢:binarySearchString[] strs1 = new String[]{"1","2","3","4"};  int i = Arrays.binarySearch(strs1,"2");  System.out.println(i);2.  數組的覆蓋:fillString[] strs1 = new String[]{"1","2","3","4"};  Arrays.fill(strs1,2,3,"haha");  for(int i=0;i<strs1.length;i++)         {         System.out.println(strs1[i]);         }注意:第一個參數為數組,最後一個參數是覆蓋後的新值,覆蓋的位置為,從第二個參數開始,覆蓋數組項的個數為,第三個參數減去第二個參數。3.  數組的排序:sortString[] strs1 = new String[]{"1","2","6","4"};Arrays.sort(strs1);for(int i=0;i<strs1.length;i++)        {        System.out.println(strs1[i]);        }第六,   資料和其他資料類型的轉化我們經常需要將數組轉化為List、ArrayList等一些資料類型,然後我們又需要將他們轉化回來。將數組轉化為List:String[] strs1 = new String[]{"1","2","6","4"};        List list = Arrays.asList(strs1);將數組轉化為ArrayList:String[] strs1 = new String[]{"1","2","6","4"};        List list = Arrays.asList(strs1);       ArrayList al = new ArrayList();       al.addAll(list);將List轉化為數組:String[] strs1 = new String[]{"1","2","6","4"};        List list = Arrays.asList(strs1);       String[] strs2 = (String[])list.toArray(new String[0]);        for(int i=0;i<strs2.length;i++)        {               System.out.println(strs1[i]);        }第七,   去掉數組中相同的項我們知道,數組的項是可以重複的,有時候我們需要去掉數組中重複的項,怎麼辦?我們也知道,HashSet裡面是沒有重複的項的,我們可不可以將數組轉化為HashSet,然後再轉化回來呢?String[] strs1 = new String[]{"1","2","6","4","2","4"};       HashSet set = new HashSet();       set.addAll(Arrays.asList(strs1));       String[] strs2 = (String[])set.toArray(new String[0]);        for(int i=0;i<strs2.length;i++)        {               System.out.println(strs1[i]);        }第八,   數組的複製我們可以將一個數組的一些項複製到另外一個數組裡面去,如:String[] strs1 = new String[]{"1","2","3","4","5","6"};       String[] strs2 = new String[4];System.arraycopy(strs1,2,strs2,0,2);        for(int i=0;i<strs2.length;i++)        {        System.out.println(strs2[i]);        }上面的這段代碼是將數組strs1複製到數組strs2裡面去,從strs1的下標為2的項開始複製,複製到strs2下標為0的項開始,一直複製2項。第九,   長度不定的數組如果數組長度只有有限的幾個選擇,可以使用如下的方法:String[] array;if(length.equals(“4”)){        array = new String[4];        ……}else if(length.equals(“9”)){        array = new String[9];        ……}else if(length.equals(“10”)){        array = new String[10];        ……}else array = new String[]{}; 如果不是能有限確定的,則可以利用反射來產生數組,如:try {               int length = 10;               Class cls = Class.forName(               "java.lang.String");               Object arr = Array.newInstance(cls, length);               String[] strs = (String[])arr;               for(int i=0;i<strs.length;i++)               {                      strs[i] = String.valueOf(i);               }               for(int i=0;i<strs.length;i++)               {                      System.out.println(strs[i]);               }               }               catch (Throwable e) {               System.err.println(e);               }

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.