欢迎访问宙启技术站
智能推送

实现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转换成字符串并返回。

使用这个函数,可以方便地删除字符串中的重复字符。