java 字符串去重
时间: 2024-11-22 07:05:37 浏览: 27
在 Java 中,字符串去重可以使用多种方法实现,以下是其中的一些常见方法:
1. **HashSet**:利用 HashSet 的无序、不允许重复的特点,将字符串添加到集合中,最后再将集合转换回字符串数组。示例代码如下:
```java
String str = "aabbcc";
Set<Character> set = new HashSet<>();
for (char c : str.toCharArray()) {
set.add(c);
}
StringBuilder sb = new StringBuilder(set.size());
set.forEach(sb::append);
String uniqueStr = sb.toString();
```
2. **HashMap**:通过创建 HashMap,键(key)为字符,值(value)设为 null。由于 HashMap 内部不允许重复键,所以插入后字符串即已去重。然后再将其转换为 String。示例:
```java
String str = "aabbcc";
HashMap<Character, Boolean> map = new HashMap<>();
String uniqueStr = "";
for (char c : str.toCharArray()) {
if (!map.containsKey(c)) {
uniqueStr += c;
map.put(c, true);
}
}
```
3. **正则表达式**:利用 Java 的 replaceAll 函数替换重复的字符。示例:
```java
String str = "aabbcc";
str = str.replaceAll("\\b\\w+\\b", "$0");
```
上述代码会保留第一个遇到的字符。
阅读全文