实现Java函数来删除字符串中的重复字符
发布时间:2023-08-29 20:37:51
要实现Java函数来删除字符串中的重复字符,可以使用HashSet来存储已经出现过的字符,然后遍历字符串,将没有重复的字符添加到一个新的字符串中。
下面是一个示例代码:
import java.util.HashSet;
public class RemoveDuplicates {
public static String removeDuplicates(String str) {
StringBuilder sb = new StringBuilder(); // 创建一个StringBuilder用于存储结果字符串
HashSet<Character> set = new HashSet<>(); // 创建一个HashSet用于存储已出现的字符
for (int i = 0; i < str.length(); i++) {
char c = str.charAt(i);
if (!set.contains(c)) {
set.add(c);
sb.append(c);
}
}
return sb.toString(); // 返回去除重复字符后的字符串
}
public static void main(String[] args) {
String input = "aabbccdd"; // 要去除重复字符的字符串
String result = removeDuplicates(input);
System.out.println(result); // 输出结果:abcd
}
}
这段代码使用了一个StringBuilder来存储去除重复字符后的结果字符串,它的优点是可以动态地添加字符,避免了字符串的不可变性带来的性能开销。
在遍历原始字符串时,使用HashSet来存储已经出现过的字符。如果判断当前字符还没有出现过,则将其添加到HashSet和StringBuilder中。
最后,将StringBuilder转换成字符串并返回。
使用这个函数,可以方便地删除字符串中的重复字符。
