Re: [問題] Java是否有Array元素值比較函數?

看板java作者 ( )時間13年前 (2012/08/26 01:43), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串2/2 (看更多)
※ 引述《rudolf1238 (Yo)》之銘言: : 大家好,想請問大家JAVA是否有兩個Array中,比較元素相同或相異的函數? : 目前知道像PHP有array_intersect可列出兩個陣列元素的相同值, : 而array_diff則可列出兩個陣列元素的差值, : 不知JAVA中是否有這種好用的函數呢? : 謝謝各位的幫忙,感激不盡! 沒有 不過,沒特別需求的話,自己弄一個也蠻快的。 用 List 或用 Set 做的話 List<Integer> a = Arrays.asList(1, 2, 3); List<Integer> b = Arrays.asList(3, 4, 5); List<Integer> intersect = new ArrayList<Integer>(); intersect.addAll(a); intersect.retainAll(b); System.out.println(intersect); // [3] List<Integer> c = Arrays.asList(1, 2, 3); List<Integer> d = Arrays.asList(3, 4, 5); List<Integer> difference = new ArrayList<Integer>(); difference.addAll(c); difference.removeAll(d); System.out.println(difference); // [1, 2] List<Integer> e = Arrays.asList(1, 2, 3); List<Integer> f = Arrays.asList(3, 4, 5); List<Integer> union = new ArrayList<Integer>(); union.addAll(e); union.addAll(f); System.out.println(union); // [1, 2, 3, 3, 4, 5] 如果有在用 guava library 的話,用 Sets 這個 class 就都有了 -- We who cut mere stones must always be envisioning cathedrals. -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.35.186.241 ※ 編輯: awert 來自: 114.35.186.241 (08/26 01:46)

08/26 11:02, , 1F
原來還有retainall等用法,非常感謝你 :)
08/26 11:02, 1F
文章代碼(AID): #1GEGxR0u (java)
文章代碼(AID): #1GEGxR0u (java)