对于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 ...
随机推荐
- 结巴(jieba)分词
一.介绍: jieba: “结巴”中文分词:做最好的 Python 中文分词组件 “Jieba” (Chinese for “to stutter”) Chinese text segmentatio ...
- loadrunner -vuser
在每个负载生成器上,安装 remote agent dispatcher(process) 和 loadrunner agent 控制器指示remote agent dispatcher 在load ...
- Django restframe 视图函数以及ModelSerializer的使用
建立model数据库 from django.db import models __all__ = ['Book', 'Publisher', 'Author'] # Create your mode ...
- Spring04-SpringEL&Spring JDBC数据访问
一. SpringEL入门 Spring动态语言(简称SpEL) 是一个支持运行时查询和操作对象图的强大的动态语言,语法类似于EL表达式,具有诸如显示方法和基本字符串模板函数等特性. 1. 准备工作 ...
- Matplotlib学习---用matplotlib画柱形图,堆积柱形图,横向柱形图(bar chart)
这里利用Nathan Yau所著的<鲜活的数据:数据可视化指南>一书中的数据,学习画图. 数据地址:http://datasets.flowingdata.com/hot-dog-cont ...
- Windows10 + Visual Studio 2017环境为C++工程安装使用ZMQ
因为需要用 C++ 实现联机对战的功能,但是不想直接用 winsock ,因此选了ZMQ 框架(不知道合不合适).安装的过程还是挺艰辛的.但是也学到了些东西,记录一下.另外,Zmq 的作者 Piete ...
- Shell基础 - Bash基础功能
历史命令 history选项: -c 清空历史命令 -w 立即保存历史命令Linux 下输入过的历史命令,都会保存在根目录下的:~/root/.bash_history 文件中默认保存 1000 条, ...
- 【NowCoder368E】车站(线段树)
[NowCoder368E]车站(线段树) 题面 牛客网 题解 链交的结果显然和求解的顺序无关,因此我们可以拿线段树维护区间链的链交结果. 然后怎么求解最远点. 维护链交的时候再记录两个点表示到达链交 ...
- C 头文件、宏、编译问题
@2019-02-15 [小记] > C 头文件的防重复包含是针对同一个源文件而言 原因: #include 头文件就是一段代码的拷贝,头文件中若有类型定义等,重复包含就会造成编译错误,若无类型 ...
- 【bfs】献给阿尔吉侬的花束
[题目描述] 阿尔吉侬是一只聪明又慵懒的小白鼠,它最擅长的就是走各种各样的迷宫.今天它要挑战一个非常大的迷宫,研究员们为了鼓励阿尔吉侬尽快到达终点,就在终点放了一块阿尔吉侬最喜欢的奶酪.现在研究员们想 ...