您的位置:首页 > 其它

Arrays数组工具类

2015-11-07 00:05 267 查看

Arrays类主要作用是什么?

是操作数组的工具类,方法都是静态的

其中:toString():将数组变成字符串形式输出。

重要方法有

(一). 将数组转化为集合asList()

1)好处:

可以使用集合的思想和方法操作数组中的元素,contains(),get(),indexOf(),subList()

2)注意:

将数组变成集合,不可以使用集合的增删方法,因为数组的长度是固定的。add(),delete(),否则会发生UnsupportedOperationException。

3)转化后元素变化情况:

3.1)如果数组中的元素为引用类型,则转化后作为集合的对象存在

3.2)如果数组中的元素为基本数据类型,则转化后数组作为集合的一个对象存在。

示例1:

[code]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:

[code]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));
    }
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: