如果兩個數組相等,只忽略第一個元素,我必須進行比較。是否有可能在不迭代的情況下達到相同效果比較兩個數組忽略只有開始元素
-5
A
回答
9
您可以使用Arrays.copyOfRange()
來獲取子陣列和Arrays.equals()
以執行相等性檢查。
請注意,儘管沒有明確的迭代 - 後面還有迭代。
代碼卡:
int arr1[] = { 1,2,3,4 };
int arr2[] = { 0,2,3,4 };
System.out.println(Arrays.equals(
Arrays.copyOfRange(arr1, 1, arr1.length),
Arrays.copyOfRange(arr2, 1, arr2.length)));
+0
+1這當然會重複三次。 –
1
不管你怎麼努力,以檢查兩個數組是否相等,你必須檢查每一個element.For,你必須通過遍歷數組訪問所有的元素儘管如此,您可以避免使用一些內置功能手動執行此操作,但在場景後面也會發生相同的邏輯。
0
是的。
讓我們假設你的兩個數組被命名爲A和B.
- 創建一個由來自A的所有元素除了 第一個
(System.arraycopy(A, 1, C, 0, A.length();
)列C上。 - 創建數組D,除了第一個元素外,它由B中的所有元素組成。
- 呼叫
Arrays.equals()
比較C和D.
此外,牢記Renjiths點。
0
String[] array1 = {"hi","hi2"};
List<String> temp = new ArrayList<String>(Arrays.asList(array1));
String[] array2 = {"hi3","hi2"};
List<String> temp2 = new ArrayList<String>(Arrays.asList(array2));
boolean condition = temp.subList(1, temp.size()).equals(temp2.subList(1, temp2.size()));
前面已經指出的阿米特有幕後
0
Arrays.equals(Arrays.asList(array1).subList(1, array1.length), Arrays.asList(array2).subList(1, array2.length));
滿足Arrays.equals雖然將使用循環背後迭代。
0
我相信你(或你調用的方法)將不得不遍歷這些數組,因爲數組不是一個對象,也沒有equals方法。
運算符==僅在原始類型的情況下比較值,它在其他情況下比較指針(內存地址)。這意味着只有在兩個數組都是一個且相同的情況下,您纔會變爲真,如果這兩個數組是兩個單獨但相同的數組,則會變爲false。
複製數組的一部分並對它們進行比較將導致數組通過多次迭代,即使它可能不明顯。 (獲得兩個陣列的子陣列每個至少包含1次迭代,再比較一個陣列。)
也就是說,您可以使用1個循環遍歷數組並逐個比較值,從索引1開始跳過第一個元素。在下面的代碼中將對象類型參數替換爲您的陣列類型:
private boolean compareMyArrays(Object[] array1, Object[] array2) {
if ((array1 == null) && (array2 == null)) {
return true;
}
if ((array1 == null) || (array2 == null)) {
return false;
}
if (array1.length != array2.length) {
return false;
}
for (int i = 1; i < array1.lenght; i++) {
if (!array1[i].equals(array2[i])) {
return false;
}
}
return true;
}
希望這會有所幫助。
相關問題
- 1. 比較兩個數組忽略順序
- 2. 比較兩個XML字符串中忽略元素順序
- 3. 比較的兩個數組PHP元素
- 4. Python:比較兩個數組的元素
- 5. 比較兩個數組中的元素
- 6. 比較元組,忽略元素的順序
- 7. 兩個向量的元素比較,而忽略之間的所有NaN
- 8. 比較兩個文件忽略順序
- 9. 如何比較兩個jsons忽略數組屬性的順序?
- 10. 比較兩個數組,兩個數組之間是否有共同的元素?
- 11. 如何比較兩個日期時間只忽略日期?
- 12. JavaScript - 比較兩個數組與有限的值/元素
- 13. 如何比較兩個數組的所有元素?
- 14. 比較兩個元組列表中元素之間的元素
- 15. Python:比較兩個數組的所有元素並修改第二個數組
- 16. 比較數組元素
- 17. 比較數組的元素
- 18. PHP數組元素比較
- 19. 比較matlab中的兩個單元格數組元素
- 20. UFT/VB代碼來比較兩個XML的忽略子元素訂貨
- 21. 通過比較兩個相鄰元素來分組數組
- 22. 比較兩個數組並獲得只包含在一箇中的元素
- 23. 比較一個數組中的兩個UIButton.tag元素objective-c
- 24. MIPS:比較兩個數組中的第一個元素
- 25. 比較兩個整數數組的元素在C++
- 26. 只比較非零元素
- 27. 只比較兩個不同陣列的第一個元素
- 28. BeyondCompare比較XML文件 - 忽略文件夾比較期間的特定元素
- 29. C# - 無法在數組中比較兩個元素
- 30. 兩個獨立數組的快速比較元素
數組的什麼?我敢打賭你需要迭代 –
沒有迭代數組,你能訪問它的所有元素嗎? – Swapnil