菜鸟教程 -- 学的不仅是技术,更是梦想!

Java 教程
(追記) (追記ここまで)

Java 实例 - 数组添加元素

Java 实例 Java 实例

以下实例演示了如何使用sort()方法对Java数组进行排序,及如何使用 insertElement () 方法向数组插入元素, 这边我们定义了 printArray() 方法来打印数组:

MainClass.java 文件

importjava.util.Arrays; publicclassMainClass{publicstaticvoidmain(Stringargs[])throwsException{intarray[] = {2, 5, -2, 6, -3, 8, 0, -7, -9, 4}; Arrays.sort(array); printArray("数组排序", array); intindex = Arrays.binarySearch(array, 1); System.out.println("元素 1 所在位置(负数为不存在):" + index); intnewIndex = -index - 1; array = insertElement(array, 1, newIndex); printArray("数组添加元素 1", array); }privatestaticvoidprintArray(Stringmessage, intarray[]){System.out.println(message + ": [length: " + array.length + "]"); for(inti = 0; i < array.length; i++){if(i != 0){System.out.print(", "); }System.out.print(array[i]); }System.out.println(); }privatestaticint[]insertElement(intoriginal[], intelement, intindex){intlength = original.length; intdestination[] = newint[length + 1]; System.arraycopy(original, 0, destination, 0, index); destination[index] = element; System.arraycopy(original, index, destination, index + 1, length - index); returndestination; }}

以上代码运行输出结果为:

数组排序: [length: 10] -9, -7, -3, -2, 0, 2, 4, 5, 6, 8 
元素 1 所在位置(负数为不存在):-6 
数组添加元素 1: [length: 11] -9, -7, -3, -2, 0, 1, 2, 4, 5, 6, 8

Java 实例 Java 实例

AI 思考中...

1 篇笔记 写笔记

  1. #0

    九刃

    528***[email protected]

    21

    Arrays.binarySearch方法使用前,需要对数组排序,才能定位值插入位置,因为binarySearch采用二分搜索法,源码:

    int low = fromIndex;//0
    int high = toIndex - 1;//Array.length -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.
    

    九刃

    528***[email protected]

    9年前 (2017年07月10日)

点我分享笔记

  • 昵称 (必填)
  • 邮箱 (必填)
  • 引用地址

AltStyle によって変換されたページ (->オリジナル) /