有人知道一种有效的方法来判断两个arraylist是否包含相同的值吗?
代码:
ArrayList<String> dummy1= new ArrayList<String>();
list1.put("foo");
list1.put("baa");
ArrayList<String> dummy2= new ArrayList<String>();
list1.put("baa");
list1.put("foo");
dummy1 == dummy2
挑战在于ArrayLists中没有相同的数值顺序。
(foo, baa) == (foo, baa) // per definition :)
我需要得到这个。
(foo, baa) == (baa, foo) // true
那么你的解决方案是什么?
arraylists
是否具有相同的元素。因此,你最好能做到的就是O(N)
。 - Prateekif(a,b)==(b,a,b)
),则情况变得更加复杂,因为size()
比较变得无意义,然后必须检查散列表中存在但第二个序列中不存在的元素。 - Mike Strobel