Java比较无序的ArrayLists
发布时间:2020-05-24 22:33:36 所属栏目:Java 来源:互联网
导读:任何人都知道一种有效的方法来决定两个arraylists是否包含相同的值? 码: ArrayListString dummy1= new ArrayListString();list1.put(foo);list1.put(baa);ArrayListString dummy2= new ArrayListString();list1.put(baa);li
|
任何人都知道一种有效的方法来决定两个arraylists是否包含相同的值? 码: 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 那么你的方法是什么? 解决方法先排序吧.public boolean equalLists(List<String> one,List<String> two){
if (one == null && two == null){
return true;
}
if((one == null && two != null)
|| one != null && two == null
|| one.size() != two.size()){
return false;
}
//to avoid messing the order of the lists we will use a copy
//as noted in comments by A. R. S.
one = new ArrayList<String>(one);
two = new ArrayList<String>(two);
Collections.sort(one);
Collections.sort(two);
return one.equals(two);
}
老实说,你应该检查你的数据结构决定.这似乎更像是一个问题.排序然后比较将采用O(nlog n),而HashSet比较将仅为O(n). (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
- Java日期时间操作代码示例大全
- Java获取客户端真实IP地址的两种方法
- java-Rabbitmq引发AmqpException:类[B没有找到方
- java – 如何在hibernate / JPA中禁用自动更新
- java使用Apache工具集实现ftp文件传输代码详解
- java – JBrowserDriver初始化需要一分多钟
- java – Autowired在Custom Constraint验证器中给
- java – Sms ContentObserver onChange()多次触发
- 为什么javax.naming.NamingException出现在这里?
- java – 共享四边形基数的Square / Rectangle(具
热点阅读
