我有一個正在輸出的鎖組合集合。我想確保沒有重複的組合。這些組合不僅僅是整數。爲了簡化格式,我將它們全部轉換爲字符串。什麼是允許我循環和比較每個字符串的代碼行,以便不重複?有任何想法嗎?例如2D陣列字符串比較Java
謝謝。
我有一個正在輸出的鎖組合集合。我想確保沒有重複的組合。這些組合不僅僅是整數。爲了簡化格式,我將它們全部轉換爲字符串。什麼是允許我循環和比較每個字符串的代碼行,以便不重複?有任何想法嗎?例如2D陣列字符串比較Java
謝謝。
不知道用什麼語言你的規劃要做到這一點用,但你可以檢查是否兩個字符串在C#像這樣
String myString = "Hello World!";
String myString2 = "Hello World!";
if(myString.equals(myString2)) {
//do something cause we have a match
}
相同的值,如果你必須通過一個字符串數組你可以循環他們。
它與其他語言如java,vb.net非常相似。
編輯:之後我開始寫我的回答中加入Java標記..對不起
希望這有助於
封裝通過Arrays.asList(T... a)每個組合的列表,以保持他們的訂貨和商店那些在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.");
}
}
}
你是如何存儲集合?它是'java.util.List'的子類嗎? –
是實時輸入或來自文件等的鎖定組合。 –
如果您想要最簡單的解決方案,請嘗試將它們添加到「Set」(在此情況下,「HashSet」可能更好)。這可能不是最快的解決方案,但它應該足夠快並且很容易實現。 – biziclop