天道酬勤,学无止境

equality

Fastest method to check if all elements of 2d array are equal

问题 我有一个二维数组houses[5][2] = {{1,1},{1,1},{1,1},{1,1},{1,1}}最快的方法是什么检查该数组中的所有元素是否相等? 这是我到目前为止尝试过的:``` for(int j=0;j<5;j++){ for(int k=0;k<6;k++){ if(houses[j][k] == houses[j+1][k+1] && j+1 != 5 && k + 1 != 6) equal = true; else{ equal = false; break; } } } 这不会比较所有元素,我知道如何比较所有元素,但它似乎是一个很长的循环......有没有更快的方法来做到这一点? 回答1 您当前的代码将失败,因为break只会将您带出一个循环。 您必须同时退出两者,这需要进行第二次检查,如下所示: auto the_value = houses[0][0]; bool equal = true; for(int j=0;j<5;j++){ for(int k=0;k<6;k++){ if(houses[j][k]!=the_value){ equal = false; goto done; } } if(!equal) break } (将第一个元素存储在变量中,然后循环遍历所有元素以检查它们是否等于该变量,从而避免了通过检查相邻元素来调用的混乱。)

2022-05-17 02:52:41    分类:技术分享    c++   arrays   algorithm   loops   equality

How do I compare strings in Java?

问题 这个问题的答案是社区的努力。 编辑现有答案以改进这篇文章。 它目前不接受新的答案或交互。 到目前为止,我一直在我的程序中使用==运算符来比较我的所有字符串。 但是,我遇到了一个错误,将其中一个改为.equals() ,它修复了这个错误。 ==不好吗? 什么时候应该使用,什么时候不应该使用? 有什么不同? 回答1 ==测试引用相等性(它们是否是同一个对象)。 .equals()测试值是否相等(它们在逻辑上是否“相等”)。 Objects.equals() 在调用.equals()之前检查是否为null ,因此您不必这样做(从 JDK7 开始可用,在 Guava 中也可用)。 因此,如果您想测试两个字符串是否具有相同的值,您可能需要使用Objects.equals() 。 // These two have the same value new String("test").equals("test") // --> true // ... but they are not the same object new String("test") == "test" // --> false // ... neither are these new String("test") == new String("test") // --> false // ... but these

2022-05-13 08:26:11    分类:技术分享    java   string   equality

Can I make indexOf compare objects in a different way?

问题 我想使用indexOf但List中的对象将不是相等的对象,但它们将具有值相等(即它们相等但不相等)。 我想让indexOf以与Object.equals方法不同的方式进行比较。 我正在考虑覆盖 equals 方法来使用我的 isEquivalent 方法,但我不确定如何做到这一点,如果可能的话。 我已经尝试了很多变体,但不断收到错误: List<CustomType> items{ @Override public boolean equals(Object o) { return false; } } = //stuff to populate it 我也看到了这个答案,他们谈论 EqualityComparer 在 java 中有类似的东西吗? 还是有其他方法可以做到这一点? 回答1 这是我的破解。 我使用ArrayList是因为 List 是一个接口,您需要覆盖所有方法。 List<CustomType> customList = new ArrayList<CustomType>() { @Override public int indexOf(Object o) { if (o instanceof CustomType) { for (int i = 0; i < this.size(); i++) { CustomType c = (CustomType) o

2022-05-12 10:52:11    分类:技术分享    java   equals   equality   indexof

Check if class property has been set

问题 假设我有一个用户类 public Class User { public string Name { get; set; } public string Surname { get; set; } public int Level {get;set;} } User user1 = new User(); user1.Name = "name"; user1.Surname = "Surname"; user1.Level = 0; User user2 = new User(); user2.Name = "name"; user2.Surname = "Surname"; 当我检查user1.Level == user2.Level它返回true因为默认int值为0 。 那么有什么办法可以让我理解user2的 Level 属性没有设置,所以我可以说这两个不相同? 回答1 1)如果你使用int? 作为 Level 的类型,不设置时为 NULL。 public Class User { public string Name { get; set; } public string Surname { get; set; } public int? Level {get;set;} } 2)如果其他建议的解决方案对您不利,则可以在设置新值时使用级别属性的设置器并设置布尔值。 例子

2022-05-10 07:07:09    分类:技术分享    c#   equality   setter   getter

Why do these two comparisons have different results?

问题 为什么此代码返回 true: new Byte() == new Byte() // returns true 但此代码返回 false: new Byte[0] == new Byte[0] // returns false 回答1 因为new Byte()创建了值类型,它们按值进行比较(默认情况下它将返回值为0的byte )。 而new Byte[0]创建数组,它是一个引用类型,并通过引用进行比较(这两个数组实例会有不同的引用)。 有关详细信息,请参阅值类型和引用类型文章。 回答2 字节是 .NET 中的值类型,这意味着当且仅当两个字节具有相同的值时==运算符才返回 true。 这也称为价值平等。 但是数组是 .NET 中的引用类型,这意味着==运算符在且仅当它们引用内存中的相同数组实例时才返回 true。 这也称为引用相等或身份。 请注意, ==运算符可以为引用类型和值类型重载。 例如, System.String是一个引用类型,但字符串的==运算符按顺序比较数组中的每个字符。 请参阅重载 Equals() 和运算符 == 的指南(C# 编程指南)。 如果要测试数组是否包含完全相同的值(按顺序),则应考虑使用 Enumerable.SequenceEqual 而不是== 。 回答3 比较引用实际上是比较指针地址,这是不同的原因返回 false 和值地址无关它比较值。

2022-05-07 05:54:18    分类:技术分享    c#   .net   equality

How to test for equality of functions in Javascript [duplicate]

问题 这个问题在这里已经有了答案: 如何比较 javascript 中的 2 个函数6 个答案 5年前关闭。 我如何才能对 bar 和 foo 的相等性进行阳性测试? foo = function() { a = 1; }; bar = function() { a = 1; }; if (foo === bar) alert('baz'); if (foo == bar) alert('qux'); 以上两个条件都是假的。 更新 - 根据要求,我需要测试功能相等的原因 我正在构建一个发布/订阅框架,需要传递回调才能取消订阅主题。 请看小提琴:http://jsfiddle.net/jamiefearon/hecMS/47/ 回答1 您可以通过比较调用toString的结果来检查两个函数的内容是否完全相同 var foo = function() { a = 1; }; var bar = function() { a = 1; }; alert(foo.toString() == bar.toString());​ 但是,如果只有一个不同的角色,那将失败。 另一方面,检查两个函数是否做同样的事情几乎是不可能的。 回答2 问题是函数有不同的相等概念。 引用相等。 函数存储在内存中的某个位置,并从某个地址开始。 对于两个函数名称(本质上是内部地址),如果两个名称都指向同一个地

2022-05-04 02:09:12    分类:技术分享    javascript   function   equality

Comparing two pandas series for floating point near-equality?

I can compare two Pandas series for exact equality using pandas.Series.equals. Is there a corresponding function or parameter that will check if the elements are equal to some ε of precision?

2022-05-02 19:22:18    分类:问答    python   pandas   numpy   floating-point   equality

Comparing "float('nan')" and "math.nan"

I have a float variable which may or may not be a number, and I want to check if that is the case. With x = float('nan'), I observed some behavior that surprised me: print(x is math.nan) >>> False This means that float('nan') and math.nan are different objects, which I didn't expect, but that's okay. However, the result is the same, when I check for equality with ==: print(x == math.nan): >>> False I get the correct result for all kinds of not-a-number, if I use math.isnan(x). Still, why doesn't float('nan') == math.nan evaluate to True?.

2022-05-02 17:44:30    分类:问答    python   equality

How to test for equality of functions in Javascript [duplicate]

This question already has answers here: how do I compare 2 functions in javascript (6 answers) Closed 5 years ago. How would I get a positive test for bar and foo's equality? foo = function() { a = 1; }; bar = function() { a = 1; }; if (foo === bar) alert('baz'); if (foo == bar) alert('qux'); Both the above conditionals are false. Updated - As requested the reason I need to test for function equality I am building a Publish/Subscribe framework and need to pass the callback inorder to unsubscribe to a topic. Please see the fiddle: http://jsfiddle.net/jamiefearon/hecMS/47/

2022-05-02 08:43:16    分类:问答    javascript   function   equality

What's the difference between == and .equals in Scala?

What is the difference between == and .equals() in Scala, and when to use which? Is the implementation same as in Java? EDIT: The related question talks about specific cases of AnyVal. The more general case is Any.

2022-05-02 00:01:52    分类:问答    scala   equality   scala-java-interop