私は持っているString cat = "cat1, cat1, cat1, cat1, cat2, cat2, cat2, cat3";
する必要があるString cat = "cat1, cat2, cat3";
これを行う方法 ?
それは私の解決策ですが、優れていません:
String[] words = cat.split(",");
Arrays.sort(words);
....
あなたはこれを試すことができます -
String cat = "cat1,cat1,cat1,cat1,cat2,cat2,cat2,cat3";
Set<String> set = new HashSet<String>(Arrays.asList(cat.split(",")));
試す
String cat = "cat1, cat1, cat1, cat1, cat2, cat2, cat2, cat3";
String text = new TreeSet<String>(Arrays.asList(cat.split(", "))).toString();
String cats = text.substring(1, text.length()-1);
System.out.println(cats);
これにより、必要な文字列が生成されます。
cat1, cat2, cat3
ここ:
//hash
HashSet<String> hs = new HashSet<String>();
String[] words = cat.split(",");
for(int i = 0;i < words.length; i++) hs.add(words[i]);
//dehash
StringBuilder builder = new StringBuilder();
Iterator it = hs.iterator();
while(it.hasNext())
{
builder.append(it.next());
builder.append(",");
}
String dehashed = builder.toString();