Java 基础拾遗(二)

这篇我们来复习下针对数组常用的一些方法。
1、优化过的快速排序法

int[] array = {11,12,232,32,23,18,34};
Arrays.sort(array);// 升序
System.out.println(Arrays.toString(array));  //  [11, 12, 18, 23, 32, 34, 232]

对数组中的元素,从第几个到第几个进行排序

int[] array = {7, 18, 32, 3, 12, 10, 6, 3, 5};
// 对数组中的元素,从第3个到第7个进行排序
Arrays.sort(array, 2, 7);
for (int i = 0; i < array.length; i++) {
     System.out.println(array[i]);
}
// result=[7, 18, 3, 6, 10, 12, 32, 3, 5]

从结果我们可以看到是这样的一个区间"[...)",包括索引是2的元素,不包括索引是7的元素

2、二分查找法,返回元素在数组中的索引

int[] array = {11, 12, 32, 34, 28, 29, 100};
int index = Arrays.binarySearch(array, 32); 
System.out.println("index = " + index); // result=2

若是查找不到,则返回(-插入点-1)

int[] array = {11, 12, 32, 34, 28, 29, 100};
int index = Arrays.binarySearch(array, 23); 
System.out.println("index = " + index); // result=-3 (-3 = -2 - 1)

3、System.arraycopy(Object src, int srcPos, Object dest, int destPos, int length);

int[] src = {1, 2, 3, 4, 5};
int[] dest = {18, 27};
// 第一个参数:原数组
// 第二个参数:从原数组的第几个元素开始取
// 第三个参数:目标数组
// 第四个参数:将从原数组中取到的第一个元素,存入目标数组的第几个元素
// 第五个参数:从原数组取几个数据,这个值的大小要小于等于目标数组的大小
System.arraycopy(src, 1, dest, 0, 2); // result=[2, 3]
for (int i = 0; i < dest.length; i++) {
   System.out.println(dest[i]);
}

注意: 第五个参数,这个值要是大于目标数组的大小,就会报如下错误

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException
at java.lang.System.arraycopy(Native Method)
at com.miliyo.test.Main.main(Main.java:25)

4、比较两个数组中的元素是否完全一致

int[] array1 = {7, 18, 32, 3, 12, 10, 6, 3, 5};
int[] array2 = {7, 18, 32, 3, 12, 10, 6, 3, 5};
boolean result = Arrays.equals(array1, array2);
System.out.println("result = " + result); // result = true
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、基本数据类型 注释 单行注释:// 区域注释:/* */ 文档注释:/** */ 数值 对于byte类型而言...
    龙猫小爷阅读 4,291评论 0 16
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,778评论 18 399
  • 第五章 数组 数组是一个基础的数据结构,它用来存储一组相同类型的元素的集合。数组非常有用,例如Java提供的集合...
    光剑书架上的书阅读 516评论 0 6
  • java笔记第一天 == 和 equals ==比较的比较的是两个变量的值是否相等,对于引用型变量表示的是两个变量...
    jmychou阅读 1,525评论 0 3
  • 有一个故事讲,一个女人每次面对别人盯着看她的眼光就会受不了,这会让她想起小时候被同学欺负的情景,但她低头看...
    海上好阅读 336评论 1 5