我有一组正在输出的锁组合。我想确保没有重复组合。这些组合不仅仅是整数。为了格式简单,我将它们全部转换为字符串。允许我循环和比较每个字符串以便没有重复的代码行是什么?有任何想法吗?例如二维数组
谢谢你。
我有一组正在输出的锁组合。我想确保没有重复组合。这些组合不仅仅是整数。为了格式简单,我将它们全部转换为字符串。允许我循环和比较每个字符串以便没有重复的代码行是什么?有任何想法吗?例如二维数组
谢谢你。
将锁组合存储在一组中可能更容易。这将更容易确保它们是独一无二的。
这也会快得多,因为您不需要将每个字符串与数据集中的所有其他字符串进行比较......
通过Arrays.asList(T... a)将每个组合封装为 List以保持它们的顺序并将它们存储在HashSet中,以确保contains(Object o)上的唯一性和恒定时间性能,以确定它是否已经存在。
import java.util.Arrays;
import java.util.List;
import java.util.HashSet;
public class UniqueLocks {
public static void main (String[] args) {
List lock1 = Arrays.asList("1", "22", "333");
List lock2 = Arrays.asList("a", "bb", "ccc");
List lock3 = Arrays.asList("eee", "bbb", "ccc");
HashSet uniqueLocks = new HashSet(Arrays.asList(lock1, lock2, lock3));
List duplicateLock = Arrays.asList("1", "22", "333");
if (uniqueLocks.contains(duplicateLock)) {
System.out.println("Lock [" + duplicateLock + "] already present.");
}
}
}
不确定您打算使用哪种语言执行此操作,但您可以检查两个字符串在 C# 中是否具有相同的值,如下所示
String myString = "Hello World!";
String myString2 = "Hello World!";
if(myString.equals(myString2)) {
//do something cause we have a match
}
如果你有一个字符串数组,你可以遍历它们。
它在其他语言(如 java、vb.net)中非常相似。
编辑:在我开始写答案后添加了 java 标签.. 抱歉
希望这可以帮助,