首页 > 其他 > 详细

Arrays类

时间:2021-09-24 17:47:39      阅读:29      评论:0      收藏:0      [点我收藏+]

Arrays类

#Arrays类的方法都是static修饰的静态方法,在使用时可以直接使用类名进行调用,而不用使用对象来调用,不用不是不能调用

package se.he.array;
?
import java.util.Arrays;
?
public class ArrayDome06 {
  public static void main(String[] args) {
      int[] a = {1,45,45,50,5115,1,158};
      int[] b = {5,44,20,540,51105,10,1058};
      int[] c = {1,45,45,50,5115,1,158};
      int[] d = {1,2,3,7,8,10};
?
      //binarySearch:搜索数组
      /*注意
      要搜索的数组里的元素值必须经过排序,否则会导致搜索结果false
      搜索的目标值在数组中存在就会打印目标值所在的元素下标
      不在的话就会先打印- 再+第一个大于目标值的元素下标+1
      2 -6 3 -4,目标值在不在目标数组中就很容易区分了
        */
      int d1 = Arrays.binarySearch(d,3);//d是要搜索的数组,key是要搜索的值
      int d2 = Arrays.binarySearch(d,9);//元素下标5比目标值9大,所以打印下标5+1=6
      int d3 = Arrays.binarySearch(d,7);
      int d4 = Arrays.binarySearch(d,4);
      System.out.println(d1+" "+d2+" "+d3+" "+d4+" ");
?
?
      //binarySearch:区间搜索数组
      int dd = Arrays.binarySearch(d,3);//打印下标2
      int dd1 = Arrays.binarySearch(d,0,1,3);//都比目标值小打印-2
      int dd2 = Arrays.binarySearch(d,3,5,3);//都比目标值大打印-4
      /*加了两个int变量,代表区间的开始和结束
      从fromindex(包含)到toindex(不包含)这个区间里面搜索
      打印结果和搜索数组原理一样
      当如果区内的值都比目标值小,则打印- 再+toindex+1
      如果区间内的值都比目标值大,则打印- 再+fromlndex+1
        */
      System.out.println(dd);
      System.out.println(dd1);
      System.out.println(dd2);
?
?
      //比较数组中元素值是否相等,打印结果只能是布尔值类型
      boolean aa = Arrays.equals(a,b);
      boolean bb = Arrays.equals(b,c);
      boolean cc = Arrays.equals(a,c);
      System.out.println(aa);
      System.out.println(bb);
      System.out.println(cc);
?
       
      System.out.println(a);//[I@14ae5a5对象
?
?
      //打印数组元素:toString
      System.out.println(Arrays.toString(a));
?
?
      //自己写打印元素的方法也可,但是避免重复造轮子
      printA(a);
?
?
      //数组进行升序排序:sort
      Arrays.sort(a);
      System.out.println(Arrays.toString(a));
?
      //给每个数组元素进行填充赋值、也可以给区间元素填充,比如2到5之间的下标34填充赋值
      //a:数组,val:赋值
      Arrays.fill(a,0);
      System.out.println(Arrays.toString(a));
?
  }
  public static void printA(int[]a) {
      for (int i = 0; i < a.length; i++) {
          if (i==0){
              System.out.print("[");
          }
          if (i==a.length-1){
              System.out.print(a[i]+"]");
          }else {
              System.out.print(a[i]+", ");
          }
?
      }
  }
?
}

Arrays类

原文:https://www.cnblogs.com/studydiary/p/15310718.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!