我试图遍历一个字符串,以删除重复的字符.
例如String aabbccdef应该成为abcdef
并且字符串abcdabcd应该成为abcd
这是我到目前为止
public class test { public static void main(String[] args) { String input = new String("abbc"); String output = new String(); for (int i = 0; i < input.length(); i++) { for (int j = 0; j < output.length(); j++) { if (input.charAt(i) != output.charAt(j)) { output = output + input.charAt(i); } } } System.out.println(output); } }
这样做最好的方法是什么?
解决方法
将字符串转换为char数组,并将其存储在LinkedHashSet中.这将保护您的订购,并删除重复.就像是:
String string = "aabbccdefatafaz"; char[] chars = string.tocharArray(); Set<Character> charSet = new LinkedHashSet<Character>(); for (char c : chars) { charSet.add(c); } StringBuilder sb = new StringBuilder(); for (Character character : charSet) { sb.append(character); } System.out.println(sb.toString());