2011-04-28 65 views

回答

6
Arrays.asList(str1).containsAll(Arrays.asList(str2)); 
1

您可以在str1中搜索str2的每個元素。或者,更高效:對str1進行排序,並使用二分搜索。

2

爲包含數組元素的每個數組創建一個Set對象。然後使用Set類的containsAll方法來檢查一個Set是否包含另一個Set中的所有元素。

http://download.oracle.com/javase/6/docs/api/java/util/Set.html

+0

對於較大的數組,您只需要一個'Set'(即具有快速'contains'檢查的結構),另一個'List'(如'Arrays.asList()')也可以工作,而不會影響效率。 (它應該是一個HashSet或TreeSet,如果你可以重複使用它,而不是爲每個搜索重新創建它,最有效率。) – 2011-04-29 00:14:26

+0

@PaŭloEbermann很好的補充(關於HashSet的評論)。儘管一個Set可能只對更大的數組有效,但我認爲它總體上比mportiz08更好,因爲對於較小的輸入,Set或List的選擇實際上並不重要。 – KyleM 2011-04-29 13:52:07

相關問題