java数组插入值后的排序_Java基础(二)数组之如何排序数组并插入元素

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

解决方式:

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

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

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

代码部分:

packagecom.de.test;importjava.util.Arrays;public classtestArray {public static voidmain(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:-1newIndex:0newArr:[-1, 2, 4, 6, 8, 9]

代码说明:

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

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

方法详细介绍:

binarySearch(Object[], Object key)

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

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

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

返回值计算:

搜索值不是数组元素,且在数组范围内,从1开始计数,得“ - 插入点索引值”;

搜索值是数组元素,从0开始计数,得搜索值的索引值;

搜索值不是数组元素,且大于数组内元素,索引值为 – (length + 1);

搜索值不是数组元素,且小于数组内元素,索引值为 – 1。

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值