Java Array和Arrays


一:Array与Arrays的区别

1.数组类Array

   Java最基本的一个存储结构

     提供了动态创建和访问 Java 数组的方法。其中的元素的类型必须相同。

    效率高,但容量固定且无法动态改变。

    它无法判断其中实际存有多少元素,length只是告诉我们array的容量。

2. Arrays工具类

   Arrays 类是 Java 中提供的一个工具类,在 java.util 包中。该类中包含了一

   些方法用来直接操作数组,比如可直接实现数组的排序、搜索等。此类还包含

  一个允许将数组作为列表来查看的静态工厂。

二:Arrays常用方法

     1、sort()

        默认由小到大排序,不只对于数值型的可以排序,对于字符串等也都可以进行排序
      2
、binarySearch()

        对已排序(从小到大排序的)的数组进行二元搜索,如果找到指定的值就返回其所在的索引位置,否则返回负值

      3、fill()

        将数组的元素全部设定为指定的值
      4
、equals()

        比较两个数组元素中的元素值是否全部相等,如果是返回true,否则返回false,适用于一维数组,多维数组用deepEquals()用法同equals;
       5、deepEquals()

          对多维数组进行比较其内容是否一致,不能用于一维数组,会编译不过滴~
      6
、toString(int[] a)
          返回指定数组内容的字符串表示形式。
      7、copyOf(int[] original, intnewLength)
          复制指定的数组,截取或用 0 填充(如有必要),以使副本具有指定的长度。
      8、copyOfRange(int[] original, intfrom, int to)
          将指定数组的指定范围复制到一个新数组。  
      9、asList(array)
                 利用Arrays.asList(array)将返回一个List,然而这个返回的List并不支持add和

          remove的操作。返回的List进行添加或删除时将会报

         java.lang.UnsupportedOperationException 异常。
       
原因:在Arrays.asList中,该方法接受一个变长参数,一般可看做数组参数,但是因为基本数据类型,

          如int[] 本身就是一个类型,所以data变量作为参数传递时,编译器认为只传了一个变量,这个变量的

        类型是int数组,所以size为1。        
                因为是arrays.aslist中,看代码可以看到这里返回的ArrayList不是原来的传统意义上的java.util.arraylist了

     ,而是自己工具类的一个静态私有内部类,并没有提供add方法,要自己实现,所以这里是出错了,因此,

      除非确信array.aslist后长度不会增加,否则谨慎使用:List abc=Arrays.asList("a","b","c"),

      因为这样的长度是无法再add的了。

 



    


  • 1
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值