runxinzhi.com
首页
百度搜索
一个工具类Pair的实现
Pair类常用,基础类库中也有提供,但是都没有包括HashCode和Equals的处理,恰好需要用,便写了一个,代码如下,HashCode的地方有些拿不准,欢迎大家拍砖!
public
class
Pair
{
//
Fields
public
object
First;
public
object
Second;
//
Methods
public
Pair()
{
}
public
Pair(
object
first,
object
second)
{
this
.First
=
first;
this
.Second
=
second;
}
public
override
int
GetHashCode()
{
if
(First
==
null
)
{
return
Second
!=
null
?
Second.GetHashCode() :
0
;
}
else
{
if
(Second
==
null
)
{
return
First.GetHashCode();
}
else
{
long
temp
=
First.GetHashCode()
+
Second.GetHashCode();
//
这里有些拿不准,参考JDK Long的实现的,但JDK中使用的无符号有移运算符>>>
return
(
int
)(temp
^
(temp
>>
32
));
}
}
}
public
override
bool
Equals(
object
obj)
{
Pair cmpVal
=
obj
as
Pair;
if
(cmpVal
==
null
)
{
return
false
;
}
if
(
this
.First
!=
null
)
{
if
(
!
this
.First.Equals(cmpVal.First))
{
return
false
;
}
}
else
{
if
(cmpVal.First
!=
null
)
{
return
false
;
}
}
if
(
this
.Second
!=
null
)
{
return
this
.Second.Equals(cmpVal.Second);
}
else
{
return
cmpVal.Second
==
null
;
}
}
public
static
bool
operator
==
(Pair lhs, Pair rhs)
{
if
(lhs
!=
null
)
{
return
lhs.Equals(rhs);
}
return
rhs
==
null
;
}
public
static
bool
operator
!=
(Pair lhs, Pair rhs)
{
if
(lhs
!=
null
)
{
return
!
lhs.Equals(rhs);
}
return
rhs
!=
null
;
}
}
相关阅读:
js正则匹配以某字符串开始字符串
vue+vue-resource+vue-cookie随笔
[考试反思]1001csp-s模拟测试(b):逃离
[考试反思]0929csp-s模拟测试55:消逝
[考试反思]0928csp-s模拟测试54:转瞬
[考试反思]0927csp-s模拟测试53:沦陷
[考试反思]0926csp-s模拟测试52:审判
[考试反思]0924csp-s模拟测试51:破碎
Function:凸包,决策单调性,题意转化,单峰函数三分,离线处理
土兵占领:二分答案,最大流
原文地址:https://www.cnblogs.com/jobs/p/25696.html
最新文章
单源最短路模板
每日算法
每日算法
Transaction rolled back because it has been marked as rollback-only
怎么随时获取Spring的上下文ApplicaitonContext,和Spring管理的Bean
能不能在FOR循环中执行SQL?
JDK设计模式之—单例模式和static关键字
JAVA对象 向上转型upcasting,向下转型downcasting
JDK设计模式之——策略模式(Comparable和Comparator接口)
MySQL乐观锁为什么可以防止并发
热门文章
多条SQL语句对查询结果集的垂直合并,以及表设计时如何冗余字段
JAVA基础之----泛型
moment.js 常用(几天前、相差几天、自然周、自然月)
JavaScript 上万条数据 导出Excel文件(改装版)
JavaScript 上万条数据 导出Excel文件 页面卡死
js 手机号码和电话号码正则校验
Express 路径请求及对应的获取路径形式
Http Header Content-Typ
nodejs 解析excel文件
Vue 导入excel功能
Copyright © 2020-2023
润新知