本篇博客主要介绍的是Arrays类(Arrays类的主要目的是操作数组);
目录
(2)Arrays.asList()使用指南(本篇博客的核心!!!)
● java.util.Arrays.asList() 的一般用法
● java.util.Arrays.asList() 在使用中极易出错的地方
错误点1:将原生类型的数组作为参数,而且List定义的时候没有使用泛型
错误点3:弃用Arrays.asList()方法,而是自己编写方法 实现数组到List的转换
1.数组:
数组属于Java的引用数据类型;
数组用来存储固定大小的、同类型的元素;
数组数组顺序存储在内存里是连续的,这样才能实现随机访问。否则,如果不连续存储的话,数组的随机访问性能将会大打折扣。
集合和数组的区别可以参考:Java集合一:概述;
2.ArrayList(List):
ArrayList底层是由数组实现的;
(1)ArrayList是java中的一个不定长的集合;而数组的长度一旦确定,长度无法改变;ArrayList可以使用add()方法添加元素;
注意事项:对于ArrayList集合来说,打印的不是地址值,而是内容,如果内容为空,则打印的结果是中括号[];
(2)ArrayList中常用的方法有:add()添加方法;get()获取方法;remove()删除方法;size()获取集合长度;
(3)同时ArrayList的泛型只能是引用类型:(如果要是用基本数据类型,就需要是对应的包装类);
3.Arrays类:主要目的是方便操作数组
(1)Arrays类简介
……………………………………………………
java.util.Arrays 类能方便地操作数组,它提供的所有方法都是静态的。
具有以下功能:
- 给数组赋值:通过 fill 方法。
- 对数组排序:通过 sort 方法,按升序。
- 比较数组:通过 equals 方法比较数组中元素值是否相等。
- 查找数组元素:通过 binarySearch 方法能对排序好的数组进行二分查找法操作。
具体说明请查看下表:
序号 | 方法和说明 |
---|---|
1 | public static int binarySearch(Object[] a, Object key) 用二分查找算法在给定数组中搜索给定值的对象(Byte,Int,double等)。数组在调用前必须排序好的。如果查找值包含在数组中,则返回搜索键的索引;否则返回 (-(插入点) - 1)。 |
2 | public static boolean equals(long[] a, long[] a2) 如果两个指定的 long 型数组彼此相等,则返回 true。如果两个数组包含相同数量的元素,并且两个数组中的所有相应元素对都是相等的,则认为这两个数组是相等的。换句话说,如果两个数组以相同顺序包含相同的元素,则两个数组是相等的。同样的方法适用于所有的其他基本数据类型(Byte,short,Int等)。 |
3 | public static void fill(int[] a, int val) 将指定的 int 值分配给指定 int 型数组指定范围中的每个元素。同样的方法适用于所有的其他基本数据类型(Byte,short,Int等)。 |
4 | public static void sort(Object[] a) 对指定对象数组根据其元素的自然顺序进行升序排列。同样的方法适用于所有的其他基本数据类型 |