Re: [問題] 關於比對兩數列

看板java作者 (Alien)時間10年前 (2014/10/29 16:11), 10年前編輯推噓0(002)
留言2則, 2人參與, 最新討論串4/4 (看更多)
※ 引述《swpoker (swpoker)》之銘言: : ※ 引述《sunsam777 (行善為樂)》之銘言: : : 數列一 整數陣列 值 1 2 3 4 5 : : 數列二 整數陣列 值 3 5 : : 要印出 數列二沒有的 1 2 4 : : 請問該如何做呢? : : 我能想到的大概就是用兩個for迴圈 : : 大概這樣,倆倆互相比對,共比10次 但要怎樣才能印出1 2 4呢 : : 想了很久想不出來,可否指點下? 感謝不盡 : import java.util.*; : public class Test{ : public static void main(String [] arg){ : System.out.println(Arrays.asList(Arrays.asList(1,2,3,4,5).stream().filter(x -> Arrays.asList(3,5).indexOf(x) < 0 ).toArray())); : } : } : Result: : [1, 2, 4] : java 8 真的好用!!! 問題不是太清楚,要是 [1,2,3] 和 [3,4,5] 的話,你要結果是 [1,2,4,5] 嗎? 是的話 Java5-7, 用 Guava 的話: Set<Integer> result = Sets.difference(Sets.newHashSet(1,2,3,4,5), Sets.newHashSet(3,5)); 如果結果是想要 [1,2],就乾脆 Set<Integer> result = Sets.newHashSet(1,2,3,4,5); result.removeAll(Arrays.asList(1,2,4)); 就好了 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 223.19.45.197 ※ 文章網址: http://www.ptt.cc/bbs/java/M.1414570298.A.2AB.html ※ 編輯: adrianshum (223.19.45.197), 10/29/2014 16:15:45

10/30 10:30, , 1F
哈~其實我是想要用JAVA8的FP拉~XD~
10/30 10:30, 1F

11/01 07:59, , 2F
其實我是給原po的,回你的文因為對比來看比較容易明白
11/01 07:59, 2F
文章代碼(AID): #1KKA4wAh (java)
討論串 (同標題文章)
文章代碼(AID): #1KKA4wAh (java)