![](/img/trans.png)
[英]Create an array which contains set of paired_value (key and its value) in mongoDB using java Drive
[英]Java Array list contains and set value
我將A,B和C添加到數組列表中。 我如何檢查數組列表是否包含A,B和C,而不是將id變量設置為1。還是有更好的方法呢? 我只想根據數組列表中的值將id變量設置為1,2或3。 例如,如果數組列表包含id等於1的A,B和C,並且數組列表包含id等於2的A,B,C和D;
您將使用List界面中公開的contains方法。 確定設置ID所需的邏輯將是您擁有的任何規則。 在這個人為的例子中,我的猜測是A && B && C id = 1
切記要覆蓋equals
和hashcode
否則不能保證list.contains
將返回正確的結果。
為此,可以使用ArrayList.contains(Object elem)方法。 它返回
如果存在指定的元素,則為true;否則為false。 否則為假。
一個小的代碼段可以給您一些想法。
int id = 0;
ArrayList<String> arraylist = new ArrayList<String>();
arraylist.add("A");
arraylist.add("B");
arraylist.add("C");
if(arraylist.contains("A") && arraylist.contains("B"))
id=1;
System.out.println(id)
因此,輸出= 1
。
除了關於equals / hash的注釋之外,我還將添加使用List.containsAll()
的簡化方法:
int id = 0;
List forId1 = Arrays.asList("A", "B", "C");
List forId2 = Arrays.asList("A", "B", "C", "D");
if (mylist.containsAll(forId2) {
id=2;
} else if (mylist.containsAll(forId1) {
id=1;
}
如果將自定義對象放入數組中,則需要在其上實現equals和hashCode方法,則可以使用ArrayList類的contains方法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.