说如果有两个字符串或任何对象,并且我想检查两个对象是否相同,我会这样做,那就可以了string1.equals(string2)
。现在,如果有三个对象,我想看看它们是否相等,那么我会string1.equals(string2) && string2.equals(string3)
说四个,依此类推,只有给出了参数的大小,这才有可能。如果我将对象传递给方法,那么检查所有元素是否相等的最有效方法是什么。我写
private static boolean equals(Object... objects) { Object obj = objects[0]; boolean flag = false; for (Object object : objects) { if (object.equals(obj)) { flag = true; } else { flag = false; break; } } return flag; }
但是,当我向专业程序员展示此方法时,他们指出这是一种非常低效的方法。如果我想检查所有元素是否都是唯一的,那将如何工作?是否有任何有效且简洁的方法来检查n个元素的相等性或不重复性?