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