Comparator : Equals method functionlity(比较器:等于方法功能)
本文介绍了比较器:等于方法功能的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
实际上,我正在阅读其中一个教程,其中提到当我们需要实现比较器接口时,可以重写equals方法(但是不必重写)。
为了更好地理解
我重写该方法,如下所示
Test.java
import java.util.TreeSet;
public class Test
{
public static void main(String[] args)
{
TreeSet t = new TreeSet(new MyComparator());
t.add(1);
t.add(1);
t.add(2);
System.out.println(t);
}
}
MyCompator.java
导入java.util.Compator;
public class MyComparator
implements Comparator
{
@Override
public int compare(Object o1, Object o2)
{
Integer i1 = (Integer) o1;
Integer i2 = (Integer) o2;
return i1.compareTo(i2);
}
@Override
public boolean equals(Object o1)
{
return false;
}
}
其他方案
import java.util.Comparator;
public class MyComparator
implements Comparator
{
@Override
public int compare(Object o1, Object o2)
{
Integer i1 = (Integer) o1;
Integer i2 = (Integer) o2;
return i1.compareTo(i2);
}
@Override
public boolean equals(Object o1)
{
return true;
}
}
现在,无论我从equals方法返回什么,TRUE或FALSE。它返回相同的树集值。
如果有谁能澄清equals方法的函数性概念,请
推荐答案
在Comparator上实现equals()方法允许您指示一个比较器提供与另一个比较器相同的顺序。它与元素的排序方式无关。这是一项非常高级且极少需要的功能。您不太可能遇到实际调用比较器的equals()方法的情况。我建议你忽略它。
这篇关于比较器:等于方法功能的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
织梦狗教程
本文标题为:比较器:等于方法功能
基础教程推荐
猜你喜欢
- 存储 20 位数字的数据类型 2022-01-01
- 如何对 Java Hashmap 中的值求和 2022-01-01
- RabbitMQ:消息保持“未确认"; 2022-01-01
- 使用堆栈算法进行括号/括号匹配 2022-01-01
- 修改 void 函数的输入参数,然后读取 2022-01-01
- 无法复制:“比较方法违反了它的一般约定!" 2022-01-01
- Struts2 URL 无法访问 2022-01-01
- 问题http://apache.org/xml/features/xinclude测试日志4j 2 2022-01-01
- Spring AOP错误无法懒惰地为此建议构建thisJoinPoin 2022-09-13
- REST Web 服务返回 415 - 不支持的媒体类型 2022-01-01
