对于Arrays的deep相关的方法。
关于: deepEquals
Arrays.equals(Object[] o1, Object[] o2):当是判断数组是引用类型数组的时候,从以下条件判断:
1、o1与o2指向同一个数组实例时,返回true
2、在o1,o2都不为空,且长度相等,而且同角标元素同为空,或者equals相等时,返回true
Arrays.equals(int[] o1, int[] o2):当判断数组是基本类型数组时,以下条件判断:
1、o1与o2指向同一个数组实例时,返回true
2、在o1与o2都不为空,且长度相等,而且同角标元素相等(数据类型不同相等方法判断不同)。
Arrays.deepEquals (Object[] o1, Object[] o2): 判断条件:
1、o1与o2指向同一个数组实例时,返回true
2、在o1,o2都不为空,且长度相等,而且同角标元素都补同为空时,进行以下判断:
当元素为基本数据类型的数组的时候,
有 Arrays.equals(Object[] e1, Object[] e2)返回为true,则为true。
当元素为引用数据类型的数组的时候,
有Arrays.deepEquals (Object[] e1, Object[] e2)返回为true,则为true。
当元素为其他类型的时候,
有 e1.equals(e2)为true,则为ture。
关于:deepHashCode(Object a[])
Arrays.hashCode(Object a[]) :
从 result = 1;
然后从第一个元素进行 result = 31 * result + element.HashCode(); 进行循环计算。
Arrays.deepHashCode(Object a[]):
从 result = 1;
然后从第一个元素进行 result = 31 * result + elementHash; 进行循环计算。
elementHash : 就是下一级元素计算出来的。
当element为 引用数据类型数组时,elementHash使用 Arrays.deepHashCode(Object a[])计算。
当element为 基本数据类型数组时,elementHash使用 Arrays.hashCode(Object a[])计算。
当element为 非数组时,elementHash使用 element.hashCode()计算。
关于:deepToString(Object [] 0)
例子:
String [][]s ={{"s","ss"},{"t"}};
sop(Arrays.deepToString(s)); //[[s, ss], [t]]
sop(Arrays.deepToString(s[0])); //[s, ss]
Integer [][]i ={{2,34,6,7,1},{2,3,5,2,0}};
sop(Arrays.deepToString(i)); //打印结果:[[2, 34, 6, 7, 1], [2, 3, 5, 2, 0]]
sop(Arrays.deepToString(i[0])); //打印结果:[2, 34, 6, 7, 1]
对于Arrays的deep相关的方法。的更多相关文章
- Android View各种尺寸位置相关的方法探究
Android View各种尺寸位置相关的方法探究 本来想做一个View间的碰撞检测之类的. 动手做了才发现不是想象的那么简单. 首先,写好了碰撞检测的工具类如下: package com.mengd ...
- Dynamic CRM 2013学习笔记(二十三)CRM JS智能提示(CRM 相关的方法、属性以及页面字段),及发布前调试
我们知道在CRM的js文件里引用XrmPageTemplate.js后,就可以实现智能提示,但每个js文件都引用太麻烦了,其实可以利用vs的功能让每个js文件自动实现智能提示CRM的js: 另外,我们 ...
- jsp:和属性相关的方法,请求的转发,重定向
jsp中与属性相关的方法: 方法: void setAttribute(String name, Object o): 设置属性 Object getAttribute(String name):获取 ...
- Java基础知识强化之集合框架笔记33:Arrays工具类中asList()方法的使用
1. Arrays工具类中asList()方法的使用 public static <T> List<T> asList(T... a): 把数组转成集合 注意事项: 虽然可以把 ...
- Android音频焦点处理相关的方法
有这么一种场景:你打开qq音乐.优酷客户端.视频播放的时候.这个时候突然来电显示了,此时所有的MediaPlayer相关的服务或者响应都进入"休眠"状态.那么,这个功能是怎么实现的 ...
- Android开发教程 - 使用Data Binding Android Studio不能正常生成相关类/方法的解决办法
本系列目录 使用Data Binding(一)介绍 使用Data Binding(二)集成与配置 使用Data Binding(三)在Activity中的使用 使用Data Binding(四)在Fr ...
- jquery checkbox相关 prop方法
jquery checkbox相关 prop方法 firefox中 checkbox属性checked="checked"已有,但复选框却不显示打钩的原因复选框绑定了click事件 ...
- Spider Studio 新版本 (20140225) - 设置菜单调整 / 提供JQueryContext布局相关的方法
这是年后的第一个新版本, 包含如下: 1. 先前去掉的浏览器设置功能又回来了! 说来惭愧, 去掉了这两个功能之后发现浏览经常会被JS错误打断, 很不方便, 于是乎又把它们给找回来了. :) 2. 为J ...
- iOS文件路径相关的方法
文件路径相关的方法在NSPathUtilities中,主要是操作路径 获得一个路径 NSString *documents = [NSSearchPathForDirectoriesInDomains ...
随机推荐
- admin快速搭建后台管理系统
一.基于admin后台管理系统的特点: 权限管理:权限管理是后台管理系统必不可少的部分,拥有权限管理,可以赋予用户增删改查表权限(可以分别赋予用户对不同的表有不同的操作权限): 前端样式少:后台管理主 ...
- 莫烦keras学习自修第五天【CNN卷积神经网络】
1.代码实战 #!/usr/bin/env python #! _*_ coding:UTF-8 _*_ import numpy as np np.random.seed(1337) # for r ...
- linux的使用
第一 安装ubuntu操作系统 1. ubuntu下解决中英文输入法问题 问题: ubuntu在安装了搜狗输入法后无法切换英文,即使在搜狗输入法中设置了切换按键依然无反应, 原因在于当前系统中只有一个 ...
- File类 详解!
package cn.zhoucufeng; import java.io.File; import java.io.IOException; import java.util.Arrays; imp ...
- Appium之开发环境搭建
1.下载Appium 去官方网站下载http://appium.io/# : 本次以appium-desktop-setup-1.8.0.exe 文件为例,使用桌面版就不再需要下载server版本: ...
- Winform实现多线程异步更新UI(进度及状态信息)
引言 在进行Winform程序开发需要进行大量的数据的读写操作的时候,往往会需要一定的时间,然在这个时间段里面,界面ui得不到更新,导致在用户看来界面处于假死的状态,造成了不好的用户体验.所以在大量数 ...
- Nginx 阻塞与非阻塞
L:32
- 前端部分-CSS基础介绍
CSS介绍 CSS(Cascading Style Sheet,层叠样式表)定义如何显示HTML元素.也就是定义相应的标签语言来定制显示样式达到一定的显示效果. 每个CSS样式由两个组成部分:选择器和 ...
- mysql操作命令
一.MySQL连接命令 mysql-u:指定用户-p:指定密码-S:指定socket文件-P:指定端口-h:指定主机域-e:指定sql语句 mysql> status \s 查看状态 mysql ...
- BZOJ2434 [NOI2011] 阿狸的打字机 【树链剖分】【线段树】【fail树】【AC自动机】
题目分析: 画一下fail树,就会发现就是x的子树中属于y路径的,把y剖分一下,用线段树处理 $O(n*log^2 n)$. 代码: #include<bits/stdc++.h> usi ...