Arrays數組工具類

Arrays類主要作用是什麼?

是操作數組的工具類,方法都是靜態的
其中:toString():將數組變成字符串形式輸出。

重要方法有

(一). 將數組轉化爲集合asList()

1)好處:
可以使用集合的思想和方法操作數組中的元素,contains(),get(),indexOf(),subList()
2)注意:
將數組變成集合,不可以使用集合的增刪方法,因爲數組的長度是固定的。add(),delete(),否則會發生UnsupportedOperationException。
3)轉化後元素變化情況:
3.1)如果數組中的元素爲引用類型,則轉化後作爲集合的對象存在
3.2)如果數組中的元素爲基本數據類型,則轉化後數組作爲集合的一個對象存在。

示例1:

import java.util.*;
class ArraysDemo1
{
    public static void main(String args[])
    {
        int[] arr = {2,4,5};
        System.out.println(Arrays.toString());

        String[] arr = {"abc","cc","kkkk"};
        List<String> list = Arrays.asList(arr);
        sop("contains:"+list.contains("cc"));//轉換成集合後,可以運用集合的方法方便操作。
        list.add("qq");//不能對數組轉換成的List集合進行增刪操作。否則會發生UnsupportedOperationException
        sop(list);//結果爲abc,cc,kkkk,以元素形式輸出。

        int[] nums = {2,4,5};
        List<int[]> list1 = Arrays.asList(nums);
        sop(list1);//結果爲數組的引用值,爲一個對象。

        Integer[] in = {2,4,5};
        List<Integer> list2 = Arrays.asList(in);
        sop(list2);//結果爲2,4,5以元素的形式輸出。


    }
    public static void sop(Object obj)
    {
        System.out.println(obj);
    }
}

(二). 如何把集合變成數組呢?

利用Collection接口中的方法toArray(new String[])
1)有什麼好處呢?
爲了限定對元素的操作,不需要進行增刪操作了。
2)變成數組的指定長度需要定義多長呢?
2.1)當指定類型的長度小於集合的size,則會重新分配大小爲集合size的數組大小
2.2)當指定類型的長度大於集合的size,則使用傳遞進來的數組,沒有元素的位置補零。
所以創建一個剛剛好長度的數組最優。

示例2:

import java.util.*;
class CollectionToArray
{
    public static void main(String args[])
    {
        ArrayList<String> al = new ArrayList<String>();
        al.add("sfdg");
        al.add("fdg");
        al.add("dg");

        String[] arr = al.toArray(new String[al.size()]);
        System.out.println(Arrays.toString(arr));
    }
}
發佈了32 篇原創文章 · 獲贊 1 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章