本文主要介绍java学习中,常用工具类的一些常用方法,持续更新中…
Arrays类(操作数组)
这里以 int[] 为例说明
Arrays.equals(int[] a, int[] b)
判断两个数组是否相等(顺序也要相同) (return: boolean)
Arrays.toString(int[] a)
输出数组a的信息
Arrays.sort(数组, int from, int to)
对数组从from到to进行升序排序,不写范围默认对整个数组升序排序,底层使用快排 (return: void)
Arrays.fill(int[] a, int val)
将指定值填充到数组中,将原来数组中的值全部替换为val,(return: void)
Arrays.binarySearch(int[] a, int key)
对排序后的数组使用二分法查找指定的值key,(return: int(数组下标))
Arrays.copyOf(int[] original, int newLength)
创建长度为newLength的新数组,将原数组的元素复制进去,用0(基本数据类型)或null(自定义类)截断或填充
Arrays.copyOfRange(int[] original, int from, int to)
将原数组的[from, to)元素复制到新数组中,用0(基本数据类型)或null(自定义类)截断或填充,(return: 原数组类型) (return: 原数组类型)
Arrays.asList(T… a)
返回指定数组支持的固定大小的列表
Arrays.stream(数组)
传入一个数组,返回一个流,便于使用stream API(jdk 8)
Math类(数学函数)
由于大部分都是见名知义的方法,所以没有测试方法
Math.round(double a); 计算四舍五入值(到整数)
Math.random() 生成[0,1)内的随机数(double类型)
Math.abs();
Math.sqrt();
Math.log();(自然对数)
Math.exp();
Math.pow(double a, double b); (a的b次幂)
Math.min(a, b) Math.max(a, b) 只能比较两个数,且为同类型
toDegress(double angrad) 弧度 --> 角度
toRadians(double angdeg) 角度 --> 弧度
还有其他的一些数学函数如三角函数acos,asin,atan,cos,sin,tan
Collections类(操作Collection、Map)
reverse(list)
反转list,对原list进行修改(return: void)
shuffle(list)
对List集合元素进行随机排序(return: void)
sort(list)
对指定list进行自然排序(升序),(return: void)
sort(list, Comparator)
对指定list按照Comparator进行定制排序 (升序),(return: void)
swap(list, int I, int j)
将list中下标i和j的元素交换,(return: void)
##### max(Collection)
根据元素的自然排序顺序,返回元素的最大值,(return: Object)
max(Collection, Comparator)
根据元素的Comparator定制排序顺序,返回元素的最大值(return: Object)
min(Collection)
根据元素的自然排序顺序,返回元素的最小值,(return: Object)
min(Collection, Comparator)
根据元素的Comparator定制排序顺序,返回元素的最小值(return: Object)
frequency(Collection co, Object obj)
返回集合co中元素obj出现的次数(return: int)
copy(List dest, List list)
将list的内容复制到dest中,注意复制前要保证dest.size()要>=list.size(),否则出异常 IndexOutOfBoundsException,可以通过new Object[list.size()]来解决
replaceAll(List list, Object oldVal, Object newVal)
使用新值替换List中的旧值
总结
以上就是本文的主要内容,本文介绍了java中Arrays、Math、Collections工具类常用的方法。