java工具类快速定位

其实 java作为一个完善的类库,本身就提供了很多权威工具类,因此我们平时写代码时候,如果能够很好的利用现有的工具,将会使开发的速度得到很大的提高,而代码的bug也会更少,毕竟经过实践反复测试完善的代码,不能否认具有更高的权威性,利用这些功能,对于代码的规范,标准化也有显著的好处。

Arrays数组工具类

主要功能,如下(都是public static):

方法描述
sort(T[] a)重载的数组排序方法,所以的数组类型都有支持(如果是引用类型,调用此方法必须可自身进行比较,也就是实现Comparable接口)
sort(T[] a, Comparator c)自己提供比较器的排序方法
int binarySearch(long[] a, long key)重载(各种类型数组)的二分查找,数组必须是有序的。
boolean equals(Object[] a, Object[] a2)重载的equals方法,支持除了boolean外的全部基本类型和引用类型,操作都是循环比较数组中的每个元素
fill(int[] a, int val)一系列(全部数据类型)重载的填充数组的方法,实现就是循环用val填充数组的每个元素
T[] copyOf(T[] original, int newLength)一系列(全部基本数据类型)重载的数组复制的方法,实现就是:由于数组长度不可变,那么必然的就要新new一个和原来同类型的数组,长度为newLength,然后利用本地方法System.arraycopy把旧数组的元素全部顺序复制到新数组
int[] copyOfRange(int[] original, int from, int to)(全部基本数据类型)重载的,把旧数组的区间数据复制到新数组,新数组的长度为复制的数据数量。
int hashCode(char a[])数组的重载hashcode方法,支持全部的数据类型
String toString(int[] a)重载的数组的tostring方法,按照这种方式拼接数组元素[a, b, c]
< T > List< T > asList(T… a)就是数组转换为集合的方法。此方法返回的list是基于参数数组的,不支持改变数组长度的集合操作方法,如add操作。

Collections集合工具类

方法描述
sort(List< T > list)list排序,实际操作是:把集合的元素放入数组中,再按Arrays.sort()方法进行数组排序,最后把排好序的数组元素依次填入到集合中(因为有些集合是链表)
int binarySearch(List> list, T key)集合的二分查找,要求集合有序
reverse(List list)集合元素反转,实现:2个遍历器,一个从前往后,一个从后往前,一个一个元素进行遍历,并进行交换
swap(List list, int i, int j)交换集合中2个元素的位置
fill(List list, T obj)用obj填充集合的每个元素
copy(List dest, List src)把src集合的元素依次复制到dest中,如果超过dest集合长度,则报错
min(Collection coll)找出集合最小元素,每个元素和当前最小值进行比较,小的作为最新的最小值继续比较
max(Collection coll)找出集合最大元素,实现同上(元素必须自己能比较,实现Comparable接口)
replaceAll(List< T > list, T oldVal, T newVal)替换集合中所有的oldval元素为newval元素,没什么好办法,遍历依次比较替换
int indexOfSubList(List source, List target)在souce集合找到第一次完全匹配target集合的地方,返回匹配的开始位置。笨办法,2层循环
int lastIndexOfSubList(List source, List target)在source集合中找到最后一次target出现的地方,实现也是2层循环只不过从后开始
addAll(Collection c, T… elements)将数组的元素依次加入到集合
Collection unmodifiableCollection(Collection c)包装原容器,让容器不可以改变(一些列容器的重载方法:list,set等),利用代理进行遍历,查询,涉及修改的操作全部异常
Collection synchronizedCollection(Collection c)包装原容器,容容器线程安全(一些列容器的重载方法:list,set等),代理操作,每个操作都进行同步,这个方法应该不会用到,就如同hashtable和Vector道理一样锁区间太窄,不能灵活控制
Iterator< T > emptyIterator()空的遍历器
Comparator reverseOrder()返回逆序的遍历器
List emptyList()返回空的集合,有set、map就不一一列举了,返回的都是静态内部类,为了保证集合为空而写的。

现阶段就分析到这里,还是那就话,规范,标准化,还是尽量用现有的方法,不过只有熟悉了,到时候才想得起来,也只有理解了,才用的放心

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值