2013-07-18 32 views
1

我想知道是否有在Java中的函數從字符串數組中檢索一個字符串,如果其他字符串是相同的,即如果我有在我array: 是的,是的,是的,是的,不,不,不,不,不,不,不,不,我只想得到一個是和一個,然後顯示它們! 而不是使用循環和比較! ,只是我想知道這個函數是否存在於Java中。如何獲得從字符串數組只有一個項目,如果其他是相同的

+3

一些事情只是將它們添加到'設置' - 它會採取 – Rekin

回答

4

插入所有這些成Set.Then U將得到這樣的

String[] array = {"yes","yes","yes","yes","no","no","no","no"}; 
Set<String> mySet = new HashSet<String>(Arrays.asList(array)); 

設置不允許重複。

最後該集合包含yesno(僅2個元件)

+0

感謝ü這麼多:) – Akari

+0

@Akari歡迎您 – PSR

2

如果這是您的陣列

String[] a = {"yes","yes","yes","yes","no","no","no","no"}; 

那麼這將顯示唯一值

System.out.println(new HashSet(Arrays.asList(a))); 
+1

感謝ü這麼多重複的照顧:) – Akari

1

轉儲您的陣列劃分爲設置和使用:

Set uniqueStrings = new HashSet(Arrays.asList(yourArray));

如果你需要它作爲數組你可以再次使用

String[] uniqueStringsArray = uniqueStrings.toArray(new String[uniqueStrings.size()]);

在內部,這個遍歷數組並比較字符串。你無法避免這種情況。

+0

非常感謝你:) – Akari

1

嘗試這樣

String[] arr=new String[]{"yes","yes","yes","yes","no","no","no","no"}; 
    Object[] unique = new HashSet<>(Arrays.asList(arr)).toArray(); 
    System.out.println(unique[0]); 
    System.out.println(unique[1]); 
+0

非常感謝你:) – Akari

相關問題