java.util.Arrays
package com.etc.Arrays;
import java.util.Arrays;
public class TestArraysClass {
public static void main(String[] args) {
int[] arr=new int[]{5,1,3,2,6,9,10};
int key=6;
//1、Arrays.toString:返回指定数组内容的字符串表示形式。
System.out.println("排序前:"+Arrays.toString(arr));//[5, 1, 3, 2, 6, 9, 10]
//2、Arrays.sort:对指定的 int 型数组按数字升序进行排序。
Arrays.sort(arr);
System.out.println("\n排序后:"+Arrays.toString(arr));//[1, 2, 3, 5, 6, 9, 10]
//3、 Arrays.binarySearch:使用二分搜索法来搜索指定的 int 型数组,以获得指定的值。
int bs = Arrays.binarySearch(arr, key);
System.out.println("\n使用二分搜索法查询数据元素为["+key+"]的数组索引下标是:"+bs);//使用二分搜索法查询数据元素为[6]的数组索引下标是:4
//使用二分搜索法来搜索指定的 int 型数组的范围,以获得指定的值。
int bs2 = Arrays.binarySearch(arr,0,arr.length-4,key);
System.out.println("\n使用二分搜索法搜索指定的 int 型数组的范围:");
System.out.println("查询数据元素为["+key+"]的数组索引下标是:"+bs2);
System.out.println("查询数据元素为20的数组索引下标是"+ Arrays.binarySearch(arr,0,arr.length-4,20));
//不再搜索范围内的情况---如果它包含在数组的指定范围内,则返回搜索键的索引;否则返回 (-(插入点) - 1)。插入点 被定义为将键插入数组的那一点 就是指定范围长度的负数
System.out.println("查询数据元素为["+key+"]的数组索引下标是:"+Arrays.binarySearch(arr,0,arr.length-3,key));//-4-1==-5
System.out.println("查询数据元素为["+key+"]的数组索引下标是:"+Arrays.binarySearch(arr,0,arr.length-4,key));//-3-1=-4
System.out.println("查询数据元素为["+key+"]的数组索引下标是:"+Arrays.binarySearch(arr,0,arr.length-5,key));//-2-1=-3
System.out.println("查询数据元素为["+key+"]的数组索引下标是:"+Arrays.binarySearch(arr,0,arr.length-6,key));//-1-1=-2
System.out.println("查询数据元素为["+key+"]的数组索引下标是:"+Arrays.binarySearch(arr,0,arr.length-7,key));//-0-1=-1
//4、Arrays.copyOf:复制一个数组
int[] arr2={5,1,3,2,6,9,10};
arr2=Arrays.copyOf(arr,5);
System.out.println("\narr2:"+Arrays.toString(arr2));//arr2:[1, 2, 3, 5, 6]
arr2=Arrays.copyOf(arr,10);
System.out.println("arr2:"+Arrays.toString(arr2));//arr2:[1, 2, 3, 5, 6, 9, 10, 0, 0, 0]
//复制指定范围内的数组
arr2=Arrays.copyOfRange(arr,1,arr.length);
System.out.println("arr2:"+Arrays.toString(arr2));//arr2:[2, 3, 5, 6, 9, 10]
//5、Arrays.equals:比较两个数组是否相等
boolean b=Arrays.equals(arr,arr2);
System.out.println("\nArrays.equals:"+b);//Arrays.equals:false
//6、Arrays.copyOfRange:
arr2=Arrays.copyOfRange(arr,0,arr.length);
System.out.println("\n"+arr.hashCode()+"---"+arr2.hashCode());//2110121908---32374789
System.out.println(arr.length+"---arr---"+Arrays.toString(arr));//7---arr---[1, 2, 3, 5, 6, 9, 10]
System.out.println(arr2.length+"---arr2---"+Arrays.toString(arr2));//7---arr2---[1, 2, 3, 5, 6, 9, 10]
System.out.println("Arrays.equals:"+Arrays.equals(arr,arr2));//Arrays.equals:true
arr2=arr;
System.out.println("equals:"+arr.equals(arr2));//equals:true
System.out.println(arr.hashCode()+"---"+arr2.hashCode());//366712642---366712642
//7、将指定的 int 值分配给指定 int 型数组的每个元素。
Arrays.fill(arr2,11);
System.out.println("\nArrays.fill(arr2,11): "+Arrays.toString(arr2));//Arrays.fill(arr2,11): [11, 11, 11, 11, 11, 11, 11]
//将指定的 float 值分配给指定 float 型数组指定范围中的每个元素。
Arrays.fill(arr2,2,6,20);
System.out.println("Arrays.fill(arr2,2,6,20): "+Arrays.toString(arr2));//Arrays.fill(arr2,2,6,20): [11, 11, 20, 20, 20, 20, 11]
}
}
java.util.Arrays的更多相关文章
- 【转】java.util.Arrays.asList 的用法
DK 1.4对java.util.Arrays.asList的定义,函数参数是Object[].所以,在1.4中asList()并不支持基本类型的数组作参数. JDK 1.5中,java.util.A ...
- [Java] java.util.Arrays 中使用的 sort 采用的算法 (转)
http://book.douban.com/annotation/15154366/Q: java.util.Arrays 中使用的 sort 采用的是什么算法? A: java中Arrays. ...
- java.util.Arrays的使用
在Java.util包中有一个工具类Arrays类,封装了一些操作数组的方法.简单使用如下: package com.arrays.test; import java.util.Arrays; pub ...
- Java 数组基础,java.util.Arrays
定义数组 方式1(推荐,更能表明数组类型) 方式2(同C语言) 方式3定义时直接初始化 数组运用基础 数组长度 equals() 数组元素不为基本数据类型时 二维数组 二维数组基础 变长的二维数组 j ...
- 源码(09) -- java.util.Arrays
java.util.Arrays 源码分析 ------------------------------------------------------------------------------ ...
- 由于java.util.Arrays.asList(...)导致的异常
前言: Collections.toArray()与Arrays.asList() 是Java API提供的友好的相互转换工具,日常开发中用于列表和数组之间的转换非常方便,但今天测试时,发现一下隐藏的 ...
- java数组、java.lang.String、java.util.Arrays、java.lang.Object的toString()方法和equals()方法详解
public class Test { public static void main(String[] args) { int[] a = {1, 2, 4, 6}; int[] b = a; in ...
- java.util.Arrays类
前言:java.util.Arrays类的技术文档请查看Oracle官网 1.Arrays类常见方法: 本文参考资料:百度文库:Oracle官网:第三方中文技术文档
- java:数组操作工具类 java.util.Arrays包 主要方法详解
Arrays类位于Java.util包下,是一个对数组操作的工具类,现将Arrays类中的方法做一个总结(JDK版本:1.6.0_34).Arrays类中的方法可以分为八类: sort(对数组排序) ...
- 【java】java.util.Arrays类常用方法
package Arrays类; import java.util.Arrays; public class TestArrays { public static void main(String[] ...
随机推荐
- 远程连接阿里云服务器ping不通ip解决方案
搭建了阿里云服务器,发现本地ping不通,查看半天才发现,原来是在阿里云上的安全组少了些东西. 在出入方向上新建一个安全组,就可以搞定了.
- common_functions.h:64:24: error: token ""__CUDACC_VER__ is no longer supported.
问题在复现工程https://github.com/google/hdrnet时出现. 现象: 解决: TensorFlow版本问题,升级到版本1.10.0之后,问题解决.
- Linux下源码安装Peach-2.3.8教程
在peach文件夹下运行 python peach.py ./samples/HelloWorld.xml 提示先安装4Suite-XML. 根据提示在dependences文件夹下安装,出现两次错误 ...
- HTML学习笔记之标签基础
目录 1.基本标签 2.链接 3.图像 4.表格 5.列表 6.块与布局 1.基本标签 (1)标题与段落 标签 <h1> ~ <h6> 分别用于定义一至六级标题,标签 < ...
- Vue ui 大法哪家强?
Element iView Vuex Mint UI Vant cube-ui,对比六大 vue ui 组件库,选中最适合的那个. Element(pc) 介绍 & 版本 饿了么前端团队开发的 ...
- 绿色地址栏扩展验证(EV)SSL证书、支持SGC 强制最低128位
Pro With EV SSL证书,最严格的域名所有权和企业身份信息验证,属于最高信任级别.最高安全级别的 EV SSL证书,该证书可以使地址栏变成高安全绿色,并且在地址栏内显示您公司的名称,提高 ...
- 【Codeforces 467C】George and Job
[链接] 我是链接,点我呀:) [题意] 让你从1..n这n个数字中 选出来k个不相交的长度为m的区间 然后这个k个区间的和最大 求出这k个区间的和的最大值 [题解] 设dp[i][j]表示前i个数字 ...
- Wizard's Tour
F. Wizard's Tour time limit per test 2 seconds memory limit per test 256 megabytes input standard in ...
- [luoguP3275] [SCOI2011]糖果(差分约束)
传送门 差分约束裸题 但是坑! 有一个点是长为10W的链,需要逆序加边才能过(真是玄学) 还有各种坑爹数据 开longlong ——代码 #include <cstdio> #includ ...
- Java 学习(7):java 日期时间 & 正则表达式
目录 --- 日期时间 --- 正则表达式 日期时间:java.util 包提供了 Date 类来封装当前的日期和时间. Date 类提供两个构造函数来实例化 Date 对象. 构造函数:用于初始化对 ...