2012-03-07 60 views
2

我有一個字符串places =「city,city,town」。我需要得到「城市,城市」。基本上擺脫逗號分隔字符串中的重複條目。如何擺脫java中逗號分隔字符串中的重複項?

places.split(「,」);會給我一串String。我想,如果我可以通過這個陣列到HashSet類的東西,它會自動去掉重複的,但在嘗試這樣的:

HashSet test=new HashSet(a.split(",")); 

給出了錯誤:

cannot find symbol 
symbol : constructor HashSet(java.lang.String[]) 

的任何簡潔的方式實現這一點,最好用最少的代碼?

回答

9
HashSet<String> test=new HashSet<String>(Arrays.asList(s.split(","))); 

這是因爲HashSet沒有期望數組的構造函數。它需要一個集合,這是我感到Arrays.asList(s.split(","))

+0

謝謝。作品。任何快速實現連接的方法?即,只有在Python或Scala中提出這個問題時,才能通過 – xyz 2012-03-07 09:27:05

+0

alas連接哈希集條目。在Java中,它是'String finalString =「」; for(String s:test)finalString = finalString + s +「,」; if(finalString.length()> 0)finalString = finalString.substring(0,finalString.length() -1);' – Nishant 2012-03-07 10:25:11

2
String s[] = places.split(","); 
HashSet<String> hs = new HashSet<String>(); 
for(String place:s) 
    hs.add(place); 
1

在這裏做什麼如果你關心的排序,我建議你使用LinkedHashSet

LinkedHashSet test = new LinkedHashSet(Arrays.asList(a.split(",")));