1. package com.etc.Arrays;
  2.  
  3. import java.util.Arrays;
  4.  
  5. public class TestArraysClass {
  6.  
  7. public static void main(String[] args) {
  8. int[] arr=new int[]{5,1,3,2,6,9,10};
  9. int key=6;
  10.  
  11. //1、Arrays.toString:返回指定数组内容的字符串表示形式。
  12. System.out.println("排序前:"+Arrays.toString(arr));//[5, 1, 3, 2, 6, 9, 10]
  13.  
  14. //2、Arrays.sort:对指定的 int 型数组按数字升序进行排序。
  15. Arrays.sort(arr);
  16. System.out.println("\n排序后:"+Arrays.toString(arr));//[1, 2, 3, 5, 6, 9, 10]
  17.  
  18. //3、 Arrays.binarySearch:使用二分搜索法来搜索指定的 int 型数组,以获得指定的值。
  19. int bs = Arrays.binarySearch(arr, key);
  20. System.out.println("\n使用二分搜索法查询数据元素为["+key+"]的数组索引下标是:"+bs);//使用二分搜索法查询数据元素为[6]的数组索引下标是:4
  21.  
  22. //使用二分搜索法来搜索指定的 int 型数组的范围,以获得指定的值。
  23. int bs2 = Arrays.binarySearch(arr,0,arr.length-4,key);
  24. System.out.println("\n使用二分搜索法搜索指定的 int 型数组的范围:");
  25. System.out.println("查询数据元素为["+key+"]的数组索引下标是:"+bs2);
  26. System.out.println("查询数据元素为20的数组索引下标是"+ Arrays.binarySearch(arr,0,arr.length-4,20));
  27.  
  28. //不再搜索范围内的情况---如果它包含在数组的指定范围内,则返回搜索键的索引;否则返回 (-(插入点) - 1)。插入点 被定义为将键插入数组的那一点 就是指定范围长度的负数
  29. System.out.println("查询数据元素为["+key+"]的数组索引下标是:"+Arrays.binarySearch(arr,0,arr.length-3,key));//-4-1==-5
  30. System.out.println("查询数据元素为["+key+"]的数组索引下标是:"+Arrays.binarySearch(arr,0,arr.length-4,key));//-3-1=-4
  31. System.out.println("查询数据元素为["+key+"]的数组索引下标是:"+Arrays.binarySearch(arr,0,arr.length-5,key));//-2-1=-3
  32. System.out.println("查询数据元素为["+key+"]的数组索引下标是:"+Arrays.binarySearch(arr,0,arr.length-6,key));//-1-1=-2
  33. System.out.println("查询数据元素为["+key+"]的数组索引下标是:"+Arrays.binarySearch(arr,0,arr.length-7,key));//-0-1=-1
  34.  
  35. //4、Arrays.copyOf:复制一个数组
  36. int[] arr2={5,1,3,2,6,9,10};
  37. arr2=Arrays.copyOf(arr,5);
  38. System.out.println("\narr2:"+Arrays.toString(arr2));//arr2:[1, 2, 3, 5, 6]
  39.  
  40. arr2=Arrays.copyOf(arr,10);
  41. System.out.println("arr2:"+Arrays.toString(arr2));//arr2:[1, 2, 3, 5, 6, 9, 10, 0, 0, 0]
  42.  
  43. //复制指定范围内的数组
  44. arr2=Arrays.copyOfRange(arr,1,arr.length);
  45. System.out.println("arr2:"+Arrays.toString(arr2));//arr2:[2, 3, 5, 6, 9, 10]
  46.  
  47. //5、Arrays.equals:比较两个数组是否相等
  48. boolean b=Arrays.equals(arr,arr2);
  49. System.out.println("\nArrays.equals:"+b);//Arrays.equals:false
  50.  
  51. //6、Arrays.copyOfRange:
  52. arr2=Arrays.copyOfRange(arr,0,arr.length);
  53.  
  54. System.out.println("\n"+arr.hashCode()+"---"+arr2.hashCode());//2110121908---32374789
  55. System.out.println(arr.length+"---arr---"+Arrays.toString(arr));//7---arr---[1, 2, 3, 5, 6, 9, 10]
  56. System.out.println(arr2.length+"---arr2---"+Arrays.toString(arr2));//7---arr2---[1, 2, 3, 5, 6, 9, 10]
  57. System.out.println("Arrays.equals:"+Arrays.equals(arr,arr2));//Arrays.equals:true
  58.  
  59. arr2=arr;
  60. System.out.println("equals:"+arr.equals(arr2));//equals:true
  61. System.out.println(arr.hashCode()+"---"+arr2.hashCode());//366712642---366712642
  62.  
  63. //7、将指定的 int 值分配给指定 int 型数组的每个元素。
  64. Arrays.fill(arr2,11);
  65. System.out.println("\nArrays.fill(arr2,11): "+Arrays.toString(arr2));//Arrays.fill(arr2,11): [11, 11, 11, 11, 11, 11, 11]
  66. //将指定的 float 值分配给指定 float 型数组指定范围中的每个元素。
  67. Arrays.fill(arr2,2,6,20);
  68. 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]
  69. }
  70.  
  71. }

  

java.util.Arrays的更多相关文章

  1. 【转】java.util.Arrays.asList 的用法

    DK 1.4对java.util.Arrays.asList的定义,函数参数是Object[].所以,在1.4中asList()并不支持基本类型的数组作参数. JDK 1.5中,java.util.A ...

  2. [Java] java.util.Arrays 中使用的 sort 采用的算法 (转)

    http://book.douban.com/annotation/15154366/Q: java.util.Arrays 中使用的 sort 采用的是什么算法?   A: java中Arrays. ...

  3. java.util.Arrays的使用

    在Java.util包中有一个工具类Arrays类,封装了一些操作数组的方法.简单使用如下: package com.arrays.test; import java.util.Arrays; pub ...

  4. Java 数组基础,java.util.Arrays

    定义数组 方式1(推荐,更能表明数组类型) 方式2(同C语言) 方式3定义时直接初始化 数组运用基础 数组长度 equals() 数组元素不为基本数据类型时 二维数组 二维数组基础 变长的二维数组 j ...

  5. 源码(09) -- java.util.Arrays

    java.util.Arrays 源码分析 ------------------------------------------------------------------------------ ...

  6. 由于java.util.Arrays.asList(...)导致的异常

    前言: Collections.toArray()与Arrays.asList() 是Java API提供的友好的相互转换工具,日常开发中用于列表和数组之间的转换非常方便,但今天测试时,发现一下隐藏的 ...

  7. 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 ...

  8. java.util.Arrays类

    前言:java.util.Arrays类的技术文档请查看Oracle官网 1.Arrays类常见方法: 本文参考资料:百度文库:Oracle官网:第三方中文技术文档

  9. java:数组操作工具类 java.util.Arrays包 主要方法详解

    Arrays类位于Java.util包下,是一个对数组操作的工具类,现将Arrays类中的方法做一个总结(JDK版本:1.6.0_34).Arrays类中的方法可以分为八类: sort(对数组排序) ...

  10. 【java】java.util.Arrays类常用方法

    package Arrays类; import java.util.Arrays; public class TestArrays { public static void main(String[] ...

随机推荐

  1. 北京Python开发培训怎么选?

    北京的地理优势和经济优势基本无需多言,作为全国机会最多的地方,吸引了无数的北漂前赴后继.作为中国互联网中心之一,北京有海量Python岗位正在等待大家淘金. 近几年中,Python一直是市场上最受欢迎 ...

  2. 使用vscode,新建.vue文件,tab自动生成vue代码模板

    第一步: 新建模板并保存 文件 --> 首选项 --> 用户代码片段 --> 输入vue,选择vue.json -->复制 第三步中的模板内容中内容保存 第二步: 添加配置,让 ...

  3. python 函数编写指南

    #函数编写指南:1.给函数指定描述性名称,且只在其中是用小写字母和下划线 2.每个函数都应包含简要的阐述其功能的注释,该注释应紧跟在函数定义后面,且采用文档字符串格式 3.给形参指定默认值时,等号两边 ...

  4. 洛谷 3391 【模板】文艺平衡树 Treap区间翻转

    [题解] 用Treap维护这个序列. 加入的时候直接插入到末尾,这样Treap就变成一棵以插入时间先后为排序关键字的二叉搜索树. 对于翻转操作,我们分裂出需要翻转的区间,给这个区间的root打一个翻转 ...

  5. noip模拟赛 同余方程组

    分析:这道题一个一个枚举都能有70分...... 前60分可以用中国剩余定理搞一搞.然而并没有枚举分数高......考虑怎么省去不必要的枚举,每次跳都只跳a的倍数,这样对前面的式子没有影响,为了使得这 ...

  6. 【无限滚动加载数据】—infinite-scroll插件的使用

    网上对于infinite-scroll插件使用的例子不多.但由于它的出现,鼓吹了瀑布流形式的页面展示方式,所以不得不了解了解这种新的分页方式. 官网上有对infinite-scroll的详细描述,但一 ...

  7. [Cogs14] [网络流24题#1] 飞行员分配方案 [网络流,最大流,二分图匹配]

    经典二分图匹配,可以用匈牙利算法,也可以用最大流 代码如下(Dinic): #include <iostream> #include <cstdio> #include < ...

  8. ZooKeeper环境搭建(单机/集群)(转)

    前提: 配置文件主要是在$ZOOKEEPER_HOME/conf/zoo.cfg,刚解压时为zoo_sample.cfg,重命名zoo.cfg即可. 配置文件常用项参考:http://www.cnbl ...

  9. assign retain 和copy的区别

    assign 对基础数据类型 (NSInteger,CGFloat)和C数据类型(int, float, double, char)等 等. 此标记说明设置器直接进⾏行赋值,这也是默认值.在使⽤用垃圾 ...

  10. java web解决表单重复提交

    首先我们在讨论如何解决表单重复提交问题之前先来解决三个问题:1.什么叫表单重复提交?2.什么情况下会出现表单重复提交?3.什么情况需要避免表单重复提交? 什么叫表单提交问题,说白了,就是同一份信息,重 ...