package day04.d1.shuzu;

import java.util.Arrays;

/**
* Arrays 工具类
* @author Administrator
*
*/
public class Arrays__________Demo {

public static void main(String[] args) {
/**
* 1、Arrays.binarySearch
*/
int[] arr={30,2,5,3,7,1,6,4,12,56,45,33};
Arrays.sort(arr);
System.out.println(Arrays.toString(arr));
int index=Arrays.binarySearch(arr,7);
System.out.println(index);

/**
* 2、Arrays.copyOf
*/
int[] copyArr;
copyArr=Arrays.copyOf(arr, 5);//arr 被拷贝的数组 5 复制前五个元素
System.out.println("copyArr: "+Arrays.toString(copyArr));
System.out.println(copyArr.length);

int[] copyArr2;
copyArr2=Arrays.copyOfRange(arr, 2, 5);//包含数组下标为2的元素,不包含数组下标为5的元素
System.out.println(Arrays.toString(copyArr2));

/**
* 3、Arrays.fill
*/
int[] fillArr=new int[5];
Arrays.fill(fillArr, 5); //填充元素
System.out.println(Arrays.toString(fillArr));

/*
* hashcode是怎么进行计算的
*
*if (a == null)
return 0;

int result = 1;
for (int element : a)
result = 31 * result + element;
*
*/
/**
* 4、Arrays.hashCode
*/
int hc=Arrays.hashCode(arr);
System.out.println("hashCode "+hc);

// int[] brr=null;
// System.out.println(brr.hashCode()); // 0

int[] brr1={1};
int res=brr1.hashCode();
System.out.println("brr1 "+res); // 32

int result = 1;
for (int element : brr1)
result = 31 * result + element;

System.out.println("brr1-------"+result);
System.out.println("----------------------------");

int[] brr2={1,1};
System.out.println("brr2 "+brr1.hashCode()); // 31*32+1=993

System.out.println("计算是有问题,");
System.out.println("****************************************************************");

/**
* 5、Arrays.sort
*/

Arrays.sort(arr);
System.out.println("Arrays.sort(arr) "+arr);

/**
* 6、Arrays.toString
*/
String str=Arrays.toString(arr);
System.out.println("Arrays.toString(arr) "+str);

}

}

java中的数组的Arrays工具类的使用的更多相关文章

  1. java 中 针对数组进行的工具类

    1.遍历数组的方法: public static void printfArray(int[] arr)  2. 获取数组中最大值: public static int getMax(int[] ar ...

  2. 二维数组及Arrays工具类

    1.二维数组 概念: 数组中的每一个元素类型都是一维数组 二维数组初始化方式: 静态初始化: 格式: 元素类型[][] 数组名 = new 元素类型[][]{{一维数组1},{一维数组2},{一维数组 ...

  3. Java程序员的日常—— Arrays工具类的使用

    这个类在日常的开发中,还是非常常用的.今天就总结一下Arrays工具类的常用方法.最常用的就是asList,sort,toStream,equals,copyOf了.另外可以深入学习下Arrays的排 ...

  4. Java中的AES加解密工具类:AESUtils

    本人手写已测试,大家可以参考使用 package com.mirana.frame.utils.encrypt; import com.mirana.frame.constants.SysConsta ...

  5. 04、数组与Arrays工具类

    目录 前言 一.一维数组 基本认识 内存空间 二.二维数组 基本认识 三.工具类Arrays 前言 去年四月份大一下半学期正式开始学习Java,一路从java基础.数据库.jdbc.javaweb.s ...

  6. Java中的4个并发工具类 CountDownLatch CyclicBarrier Semaphore Exchanger

    在 java.util.concurrent 包中提供了 4 个有用的并发工具类 CountDownLatch 允许一个或多个线程等待其他线程完成操作,课题点 Thread 类的 join() 方法 ...

  7. java中redis的分布式锁工具类

    使用方式 try { if(PublicLock.getLock(lockKey)){ //这里写代码逻辑,执行完后需要释放锁 PublicLock.freeLock(lockKey); } } ca ...

  8. java中使用反射做一个工具类,来为指定类中的成员变量进行赋值操作,使用与多个类对象的成员变量的赋值。

    //------------------------------------------------我是代码的分割线 // 首选是一个工具类,在该工具类里面,定义了一个方法,public void s ...

  9. java中常用的16个工具类

    1. org.apache.commons.io.IOUtils:处理io流的相关操作 closeQuietly ( ) toString ( ) copy ( ) toByteArray ( ) w ...

随机推荐

  1. SLAM: Inverse Depth Parametrization for Monocular SALM

    首语: 此文实现客观的评测了使线性化的反转深度的效果.整篇只在表明反转可以线性化,解决距离增加带来的增长问题,有多少优势--%! 我的天呢!我竟然完整得翻译了一遍. 使用标记点地图构建SLAM的方法, ...

  2. 通过Static 字段来维护状态是不是一个好主意

    static是申明静态字段.静态方法或者静态类的修饰符.使用static申明的字段属于类型本身而不属于任何字段,声明的类也具有一些特别特性,比如不能实例化,不能继承等.用通俗化的语言来说,static ...

  3. 【sqli-labs】 less29 GET- Error based -Impidence mismatch -Having a WAF in front of web application (GET型基于错误的带有WAF注入)

    这关有点意思,有一点需要事先注意,这关玩的是login.php而不是默认的index.php 再注入之前需要先了解一下HPP(HTTP Parameter Pollution),详情参照这篇 http ...

  4. 个人作业—Alpha测试

    这个作业属于哪个课程 https://edu.cnblogs.com/campus/xnsy/SoftwareEngineeringClass1/homework/3338 这个作业要求在哪里 htt ...

  5. .NET 人工智能相关资料整理

    机器学习组件:https://www.cnblogs.com/asxinyu/p/dotnet_Opensource_project_AccordNET.html ML.NET:            ...

  6. 阿里云服务器centos7环境下安装xampp后,mysql有进程,但是却没有监听3306端口

    配置阿里云服务器centos7中xampp环境时出现了一种情况: 在centos中可以使用命令进入mysql 修改后也可以远程用phpmyadmin连接mysql 但是用navicat却无法连接 先修 ...

  7. spring boot @Transactional事物处理

    spring boot 添加事物使用 @Transactional注解 简单使用 在启动类上方添加 @EnableTransactionManagement注解 使用时直接在类或者方法上使用 @Tra ...

  8. 防火墙对FTP的影响

    http://www.5iadmin.com/post/919.html FTP 常用命令 http://www.cnblogs.com/emanlee/archive/2012/07/09/2583 ...

  9. js 清空对象\删除对象的属性

    在项目中,有些对象用完后需要重置,下面简单介绍下JS中清除对象的方法.方法如下: 方法一:字面量定义对象 第一步,定义一个空对象并打印出来,代码和效果: 代码: var student = {};co ...

  10. hdoj 1257最少拦截系统

     /*最少拦截系统 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Tota ...