• 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

  • 相关阅读:
    Java8的List过滤
    docker 部署zookeeper集群
    docker部署haproxy
    安装和配置jenkins
    webpack安装和简单配置
    javascript
    javascript-模板方法模式-提示框归一化插件
    javascript-组合模式
    javascript设计模式-工厂方法模式
    javascript函数的几种写法集合
  • 原文地址:https://www.cnblogs.com/yiyidajiaoya/p/8336917.html
Copyright © 2020-2023  润新知