1.equals
public static boolean equals(int[] a, int[] 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; i<length; i++)
if (a[i] != a2[i])
return false;
return true;
}
先判断a和a2是否为统一个变量,再判断非空、长度,再挨个比较。char[] byte[] long[] short[] 都是这样比较的
Object[] 利用 o1.equals(o2)
float[] 利用 (Float.floatToIntBits(a[i])!=Float.floatToIntBits(a2[i]),各自将小数生成一个int型的数字,然后比较。这个我很奇怪为什么不直接用==比较,直接比较也可以出结果??
double[] 利用 (Double.doubleToLongBits(a[i])!=Double.doubleToLongBits(a2[i])),将小数装便成long型数字比较,同样奇怪??
2.fill
public static void fill(int[] a, int fromIndex, int toIndex, int val)
先检查a的长度,起点和终点越界的问题。有问题报错。
遍历复制
boolean,double,float,Object,byte,char,short,long 都一模一样
3.copyOf
public static int[] copyOf(int[] original, int newLength)
先新建一个newLength的数组,再利用 System.arraycopy复制,复制的位置从0到Math.min(original.length, newLength)
byte,short,long,char,float,double,boolean
4.二分查找binarySearch
private static int binarySearch0(int[] a, int fromIndex, int toIndex,int key) {
int low = fromIndex;
int high = toIndex - 1;
while (low <= high) {
int mid = (low + high) >>> 1;
int midVal = a[mid];
if (midVal < key)
low = mid + 1;
else if (midVal > key)
high = mid - 1;
else
return mid; // key found
}
return -(low + 1); // key not found.
}
这个移位很有特色,本来我怀疑low+high会超出范围,但是0111 1111 1111 1111 + 0111 1111 1111 1111 = 1111 1111 1111 1110 无符号移位 0111 1111 1111 1111,结果正好正确。,当然,如果写成int sum =(low+high); int midVal=sum>>>1.就错了。
对了,这个方法只能查有序的数组,无序的查不到。
5.sort()
看了一会没看懂,网上说:int,float等原型数据的数组采用快速排序,对Object对象数组采用归并排序 。所以等到时总结排序的时候一起理解一下。
分享到:
相关推荐
NULL 博文链接:https://chaoyi.iteye.com/blog/2082720
个人研究所得,包含对其内部jdk源码的分析。 同时会结合ArrayList中对该两个方法的调用做进一步说明。 总结一句话:在允许的情况下,尽量调用System.arraycopy方法,实在不行再调用Arrays.copyOf方法。
Antenna Arrays.pdf
Gain an in-depth understanding of PHP 7 arrays. After a quick overview of PHP 7, each chapter concentrates on single, multi-dimensional, associative, and object arrays. PHP Arrays is a first of its ...
radar antenna arrays, and smart antenna arrays for automatic cruise control applications provide increased safe travelling for vehicle passengers. Vehicle localization techniques based on the antenna ...
PHP Arrays Single Multi-dimensional Associative and Object Arrays in PHP 7 英文无水印pdf pdf所有页面使用FoxitReader和PDF-XChangeViewer测试都可以打开 本资源转载自网络,如有侵权,请联系上传者或csdn...
PHP Arrays Single, Multi-dimensional, Associative and Object Arrays in PHP 7 英文无水印原版pdf pdf所有页面使用FoxitReader、PDF-XChangeViewer、SumatraPDF和Firefox测试都可以打开 本资源转载自网络,如...
网络图片地址url集合arrays.xml文件
/** *Arrays提供数组操作的一系列实用方法 *1输出 *2排序 *3二分查找 *4复制 *5扩容 */
Microphone Arrays : A Tutorial
利用电磁波的相干原理,通过计算机控制输往天线各阵元电流相位的变化来改变波束的方向,同样可进行扫描,称为电扫描。天线阵,根据扫描情况可分为相扫、频扫、相/相扫、相/频扫、机/相扫、机/频扫、有限扫等多种体制...
ite_Antenna_Arrays_and_FSS
Constructing Compressed Suffix Arrays with Large Alphabets 生物信息论文
主要介绍了java 源码分析Arrays.asList方法详解的相关资料,需要的朋友可以参考下
Arduino项目开发 Control_Arrays_Arrays.pdf Arduino项目开发 Control_Arrays_Arrays.pdf Arduino项目开发 Control_Arrays_Arrays.pdf Arduino项目开发 Control_Arrays_Arrays.pdf Arduino项目开发 Control_Arrays_...
天线圣经-Finite Antenna Arrays and FSS
There are two sorted arrays nums1 and nums2 of size m and n respectively. Find the median of the two sorted arrays. The overall run time complexity should be O(log (m+n)). Java AC版本
Light scattering by particle and hole arrays for electric magnetic
麦克风阵列的语音信号处理算法方面的经典书籍,包含麦克风阵列的语音增强、声源定位、麦阵应用等方面的算法
《Digital Signal Processing with Field Programmable Gate Arrays》扫描版