2009-09-02 24 views
3

我想模仿Java中的Python功能。 在Python,如果我想在一個字符串唯一的字符我能做的只是,Java相當於Python的功能 - > set(string)

text = "i am a string" 
print set(text) # o/p is set(['a', ' ', 'g', 'i', 'm', 'n', 's', 'r', 't']) 

我怎樣才能做到這一點在Java中平凡或直接?

回答

7
String str = "i am a string"; 
System.out.println(new HashSet<String>(Arrays.asList(str.split("")))); 

編輯:對於那些誰反對,他們並不完全等效的,因爲str.split將包括設定一個空字符串,我們可以做到這一點甚至更詳細:

String str = "i am a string"; 
Set<String> set = new HashSet<String>(Arrays.asList(str.split(""))); 
set.remove(""); 
System.out.println(set); 

,但當然這取決於你需要完成什麼。

+3

python wins 4 terseness – Claudiu 2009-09-02 14:57:43

+1

這不太合適,因爲String.split(「」)在結果中包含一個空字符串,例如「hello」.split(「」)是'','h','e','l','l','o'。 – mikej 2009-09-02 15:09:45

+0

@mikej在技術上,輸出是'','h','e','l','o'。但我明白你的觀點。目前的解決方案適用於我,但因爲我進一步處理了這個操作的結果。 – Chantz 2009-09-02 15:19:27