2013-08-24 63 views
0

我有2的HashSet搜索中的HashSet

Set<String> firstSet = new HashSet<String>(); 
Set<String> secondSet= new HashSet<String>(); 

假設

firstSet包含String作爲[A-ABC,B-BCD,C-CDE,D-DEF,L-POK];

secondSet包含String作爲[A,B,C,D,L,K,M];

我可以分裂,例如[A,B,C]內firstSet各元素,而無需for loop然後執行

firstSet.contains(secondSet); 

或是它們這樣做任何適當的方式?

+0

您是否想要獲取firstSet中包含第二個子集中的所有元素?什麼應該是你想要的輸出? –

+0

@Rohit輸出是將第二組中的所有元素從第一組中取出爲[A,B,C,D,L]。希望它是明確的。 –

+0

嗨Rohit ...是的,其實我想要得到firstSet的所有元素,包含secondSet中的一個子集。他們有什麼方法可以使用Collections來實現這一點。 –

回答

2

使firstSet代替Map。

final Map map<String, String> = new HashMap<String, String(); 
map.put("A", "ABC"); 
map.put("B", "BCD"); 
... 


map.keySet().containsAll(secondSet); 

如果這不能解決您的問題,或許您可以更詳細地解釋您要完成的任務。如果不穿過集合中的每個元素,就無法對集合中的每個元素採取行動。

+0

輸出是從第一組中獲得第二組中的所有元素,如[A,B,C,D,L]。我們仍然可以使用HashSet而不使用HashMap嗎?可能嗎? –

+0

你的第二套中沒有任何元素出現在你的第一套中。如果你想分析你的第一集的內容,看看這些元素是否以第二集中的元素開始,那麼你必須親自看看每一個條目。 –