zoukankan      html  css  js  c++  java
  • Java基础(二)数组之如何排序数组并插入元素

    在Java中可以对数组进行排序操作,也可以向数组中添加一个元素。

    解决方式:

      1、通过java.util.Arrays中的sort()方法可实现排序,或者冒泡等排序方式实现。

      2、通过arraycopy()实现数组的复制。

      3、通过java.util.Arrays中的binarySearch获取数组元素的索引值。

    代码部分:

    package com.de.test;
    
    import java.util.Arrays;
    
    public class testArray {
        public static void main(String[] args) {
            int arr[] = {2,6,4,8,9};
            Arrays.sort(arr);
            System.out.println(Arrays.toString(arr));
            int index = Arrays.binarySearch(arr,-1);
            int newIndex = -index - 1;
            int newArr[] = new  int[arr.length + 1];
            System.arraycopy(arr,0,newArr,0,newIndex);
            newArr[newIndex] = -1;
            System.arraycopy(arr,newIndex,newArr,newIndex + 1,arr.length - newIndex);
    
            System.out.println("index:" + index);
            System.out.println("newIndex:" + newIndex);
            System.out.println("newArr:" + Arrays.toString(newArr));
        }
    }

    运行结果:

    [2, 4, 6, 8, 9]
    index:-1
    newIndex:0
    newArr:[-1, 2, 4, 6, 8, 9]

    代码说明:

    int index = Arrays.binarySearch(arr,-1);

     java.util.Arrays中提供的binarySearch()方法,查找目标数组中是否包含某个元素,并且返回一个int类型的数值。

    方法详细介绍:

     binarySearch(Object[], Object key)

    第一个参数: 要查找的数组

    第二个参数:要搜索的元素

    如果key在数组中,则返回搜索值的索引;否则返回-1或“-”(插入点)。插入点是索引键将要插入数组的那一点,即第一个大于该键的元素的索引。

    返回值计算:

    1. 搜索值不是数组元素,且在数组范围内,从1开始计数,得“ - 插入点索引值”;
    2. 搜索值是数组元素,从0开始计数,得搜索值的索引值;
    3. 搜索值不是数组元素,且大于数组内元素,索引值为 – (length + 1);
    4. 搜索值不是数组元素,且小于数组内元素,索引值为 – 1。

    方法详细介绍参考了:http://blog.csdn.net/cxhply/article/details/49423501

  • 相关阅读:
    OSCP Learning Notes Buffer Overflows(3)
    OSCP Learning Notes Buffer Overflows(5)
    OSCP Learning Notes Exploit(3)
    OSCP Learning Notes Exploit(4)
    OSCP Learning Notes Exploit(1)
    OSCP Learning Notes Netcat
    OSCP Learning Notes Buffer Overflows(4)
    OSCP Learning Notes Buffer Overflows(1)
    OSCP Learning Notes Exploit(2)
    C++格式化输出 Learner
  • 原文地址:https://www.cnblogs.com/yiyidajiaoya/p/8336917.html
Copyright © 2011-2022 走看看