PTT
Submit
Submit
选择语言
正體中文
简体中文
PTT
java
[问题] 检查ArrayList是否重复
楼主:
dwadefans
(wade)
2016-05-09 13:37:35
我有一个简单的
ArrayList<Integer> a,b及c
a = {1,2,3,4,5}
b = {2,3,4,5,1}
c = {1,2,3,4,5,6}
我想得到a=b , c不等于a与b
a与b从排列顺序不同但是内容物是相同的
b多出一个6
有没有什么一个写好的方法是能快速的判断是否相同呢?
谢谢
作者:
omidofor
(妈妈咪呀)
2016-05-09 13:51:00
参考 Set
作者:
ssccg
(23)
2016-05-09 14:00:00
没有重复的值才能用Set有重复的值最简单就把两个list都sort后再用equals
作者:
mars90226
(火星人)
2016-05-09 16:14:00
Java没有内建Multiset,不然这个最适合
作者:
bitlife
(BIT一生)
2016-05-09 18:56:00
根据数学集合论,可以先判断length是否相等,不是结案,是的话,先针对A每个元素检查B是否包含,若不成立结案,仍成立就再针对B每个元素检查A是否包含,若仍成立则两者相等不过一样,如果没有sort,上面这个方法会是O(N^2),N若真的很大,先sort还是会比较快^当相等时综合以上,length相等且N很大就先sort用三楼的方法
作者:
MIM23
(HAWK)
2016-05-09 20:40:00
{1,2,2,2} {2,1,1,1} 好像也满足楼上的条件
作者:
bitlife
(BIT一生)
2016-05-09 20:44:00
楼上对,我搞错了,要元素无重复的才能能我满足我写的集合论定理的前提所以还是sort再比是否相等吧
作者:
kogrs
(kogrs)
2016-05-09 22:05:00
先转 array ,再利用 java.util.Arrays, sort 再 equals
作者:
ripple0129
(perry tsai)
2016-05-09 22:57:00
每次看到这类题目就怀念Python
作者:
ssccg
(23)
2016-05-09 23:56:00
不用转array,java.util.Collections有sortjava8的话List本身就有sort
作者:
kogrs
(kogrs)
2016-05-10 00:19:00
哈 原来jdk8已经有了xd
作者: eric781101
2016-05-10 00:27:00
其实可以自己写个类似mergeSort的判断,找ab相同部分在找和c不同的部分
作者:
jej
(晃奶大馬桶)
2016-05-10 12:12:00
sort后, 把两个阵列里面的值变成文字串起来 有没有equals
作者:
bitlife
(BIT一生)
2016-05-10 13:33:00
串起来的operation感觉还比逐一相等比较来得多,逐一比较遇到不等就结束了,光全部串起来这步骤就不少成本
作者:
ssccg
(23)
2016-05-10 14:24:00
串成string只是把int array变成更长的char array...
作者:
gmoz
( This can't do that. )
2016-05-10 17:32:00
{1,11} 跟 {1,1,1} 表示 @w@!
作者:
hanklgs
(派星星)
2016-05-17 15:04:00
用hashmap A有的value+1,B有的value-1,最后hashmap有value 不为0的元素,则表示不相等
继续阅读
[问题] Facebook游戏外挂
illegalplan
[问题] BufferedImage 旋转任意角度
dwadefans
[问题] 问公司 想请问九玖云端
lytnokia
[问题] Socket连线小问题
f88887878
[书籍] 征求 Java 考试券
matt4424
[问题] actionListener 在不同 class
eton821002
[问题] 请问Eclipse提示栏圈选的颜色怎么改
ak77now
Fw: [问题] jquery post json object 的问题(jsp)
ledzepp0
[问题] 请教关于java书籍的问题
libo5s
[虫?] unit test 自动输入的问题
ggcip0514
Links
booklink
Contact Us: admin [ a t ] ucptt.com