【精选】java.util.arrays类详解(源码总结)
?
java.util.Arrays类详解(源码总结)
概述
binarySearch(二分法查找数组中的元素)
equals(比较两个数组是否相等)
fill(对数组中的指定位置填充相同的内容)
copyOf(数组拷贝)
asList(将数组转换为一个固定的List对象)
hashCode(计算数组的哈希值)
toString(以特定格式输出数组)
举例说明
说明:以下的代码均为摘抄的java.util.Arrays类中的源码,注释为本人所加。
sort
//对数组a进行排序public static void sort(long[] a) {
sort1(a, 0, a.length);
}//对数组a中的从fromIndex(包含)至toIndex(不包含)的值进行排序public static void sort(long[] a, int fromIndex, int toIndex) {
rangeCheck(a.length, fromIndex, toIndex);
sort1(a, fromIndex, toIndex-fromIndex);
}/**
对基本类型数组的排序有以上两种方法,这里只摘出了long类型的。sort1方法篇幅原因没有摘出来,在sort1方法中使用的是经过调优的快速排序算法(tuned quicksort)。
**/
..........
..........
..........//对对象类型进行排序public static void sort(Object[] a) {
Object[] aux = (Object[])a.clone();
mergeSort(aux, a, 0, a.length, 0);
}//对对象a中的从fromIndex(包含)至toIndex(不包含)的值进行排序public static void sort(Object[] a, int fromIndex, int toIndex) {
rangeCheck(a.length, fromIndex, toIndex);
Object[] aux = copyOfRange(a, fromIndex, toIndex);
mergeSort(aux, a, fromIndex, toIndex, -fromIndex);
}/**
对对象类型数组的排序有以上两种方法,在mergeSort方法中使用的是经过修改的归并排序算法(modified mergesort)。
**/
binarySearch
public static int binarySearch(long[] a, long key) {
return binarySearch0(a, 0, a.length, key);
}
public static int binarySearch(long[] a, int fromIndex, int toIndex,
long key) {
rangeCheck(a.length, fromIndex, toIndex);
return binarySearch0(a, fromIndex, toIndex, key);
}/**
对数组中元素的查找有以上两种方法,在binarySearch0方法中使用的是二分查找法。并且对基本类型和对象类型的数组查找是同样的操作。
**/
equals
//比较基本类型数组是否相等
public static boolean equals(long[] a, long[] a2) {
if (a==a2)
return true;
if (a==null || a2==null)
return false;
int length = a.length;
if (a2.length != length)
return false;
for (int i=0; ilength; i++)
if (a[i] != a2[i])
return false;/**
对于double类型,使用的是:
if (Double.doubleToLongBits(a[i])!
您可能关注的文档
- 【精选】HSPM有害物质过程管理体系内审员培训教材.pdf
- 【精选】HTC G11刷Recovery和ROOT图文详细教程.pdf
- 【精选】HT1308 5V-0.8A充电器适配器应用指导_V2.2.pdf
- 【精选】HT2670F数字兆欧表.doc
- 【精选】html5动态图表FineReport搭建物流报表决策平台的解决方案.pdf
- 【精选】html习题(答案).doc
- 【精选】Huawei AR150&200系列企业路由器产品 详版彩页.pdf
- 【精选】HTQ2008-2009学年湖北省武汉市江岸区七年级(上)期末数学试卷.pdf
- 【精选】HUGIN软件培训教程介绍-2012.pdf
- 【精选】Human Resource Management.ppt
最近下载
- 2025-2026二手房行业研究报告.doc VIP
- 2026龙飞平面图形推理基础理论➕百大图形3.0版本.pdf VIP
- 2026马年幸运大抽奖PPT模板.pptx VIP
- 智研咨询—中国无人靶机行业市场全景调查、投资策略研究报告.docx VIP
- 第1-13届北方数学奥林匹克数学试题及解答.pdf VIP
- 门诊统筹基金分析报告.pptx VIP
- 电光KBZ16-400 1140(660) (WZBK-6D)矿用隔爆型型真空馈电开关说明书.pdf VIP
- 聚酯切粒机培训课件.pptx VIP
- 园林植物病虫害防治课件共104张PPT).pptx VIP
- DB44/26-2001水污染物排放限值.pdf VIP
原创力文档

文档评论(0)