黑马程序员_日记65_Arrays方法

 ——- android培训java培训、期待与您交流! ———-

Arrays:用于操作数组的工具类。
里面都是静态方法。

Arrays.toString();
static String toString(boolean[] a)
返回指定数组内容的字符串表示形式。
static String toString(byte[] a)
返回指定数组内容的字符串表示形式。
static String toString(char[] a)
返回指定数组内容的字符串表示形式。
static String toString(double[] a)
返回指定数组内容的字符串表示形式。
static String toString(float[] a)
返回指定数组内容的字符串表示形式。
static String toString(int[] a)
返回指定数组内容的字符串表示形式。
static String toString(long[] a)
返回指定数组内容的字符串表示形式。
static String toString(Object[] a)
返回指定数组内容的字符串表示形式。
static String toString(short[] a)
返回指定数组内容的字符串表示形式。

asList:将数组变成list集合
static List
asList(T… a)
返回一个受指定数组支持的固定大小的列表。

把数组变成集合有什么好处呢?
可以用集合的思想来操作数组,
可以用集合的方法对数组的元素进行操作。
在Java中,集合的方法比数组多很多,
所以把数组变为集合后,可以充分利用集合的这些方法,
减少程序员的工作量。

但是要注意:
不可以使用集合的增删方法,因为数组的长度是固定的。
如果使用了集合的增删方法,会出现UnsupportedOperationException。

根据asListDemo和asListDemo_2,可知:
如果数组中元素是对象,那么存入List集合的是数组元素;
如果数组中元素是基本数据类型,那么存入List集合的是数组,数组作为集合的一个元素存在。

import java.util.*;
public class ArraysDemo
{
    public static void sop(Object obj)
    {
        System.out.println(obj);
    }

    public static void main(String[] args)
    {

    }

    public static void toStringDemo()
    {
        int[] array = {1,2,3};
        //Arrays.toString()练习
        sop(Arrays.toString(array));
    }

    public static void asListDemo()
    {
        //asList练习
        String[] array = {"Hello","java","Oh"};
        List<String> aList = Arrays.asList(array);

        //ArrayList<String> aList = Arrays.asList(array);
        //错误 不兼容的类型: 不存在类型变量T的实例, 以使List<T>与ArrayList<String>一致
        sop("contains:"+aList.contains("java"));
        aList.add("adv");//错误,UnsupportedOperationException
        sop(aList); 
    }

    public static void asListDemo_2()
    {
        /*
        int[] arr = {1,2,3};
        //asList练习
        List list = Arrays.asList(arr);
        sop(list);
        //打印结果:[[I@659e0bfd]这是一个数组的地址,
        //把数组作为一个对象存入了List集合
        */

        /*
        int[] arr = {1,2,3};
        //asList练习
        List<int[]> list = Arrays.asList(arr);
        sop(list);
        //打印结果:[[I@659e0bfd]这是一个数组的地址,
        */

        Integer[] arr = {1,2,3};
        //asList练习
        List<Integer> list = Arrays.asList(arr);
        sop(list);//打印[1, 2, 3]
        //Integer自动插箱,自动装箱,存入的是对象Integer 1 2 3  
    }
}

数组转集合后不可以增删
这里写图片描述
把数组变成集合的好处
把数组变成集合的好处

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值