2012-03-07 30 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(",")));