您好,登录后才能下订单哦!
密码登录
登录注册
点击 登录注册 即表示同意《亿速云用户服务条款》
在Java中,有多种方法可以对字符串进行去重。以下是一些常见的方法:
HashSet
是一个不允许有重复元素的集合。你可以将字符串中的字符添加到 HashSet
中,然后将其转换回字符串。
import java.util.HashSet;
import java.util.Set;
public class StringDeduplication {
public static void main(String[] args) {
String str = "hello world";
Set<Character> set = new HashSet<>();
StringBuilder sb = new StringBuilder();
for (char c : str.toCharArray()) {
if (set.add(c)) { // add() 方法返回 false 如果元素已经存在
sb.append(c);
}
}
String result = sb.toString();
System.out.println(result); // 输出: helo wrd
}
}
LinkedHashSet
是 HashSet
的一个子类,它不仅不允许重复元素,还保持元素的插入顺序。
import java.util.LinkedHashSet;
import java.util.Set;
public class StringDeduplication {
public static void main(String[] args) {
String str = "hello world";
Set<Character> set = new LinkedHashSet<>();
StringBuilder sb = new StringBuilder();
for (char c : str.toCharArray()) {
if (set.add(c)) {
sb.append(c);
}
}
String result = sb.toString();
System.out.println(result); // 输出: helo wrd
}
}
Java 8 引入了 Stream API,可以更简洁地实现字符串去重。
import java.util.stream.Collectors;
public class StringDeduplication {
public static void main(String[] args) {
String str = "hello world";
String result = str.chars()
.distinct()
.mapToObj(c -> String.valueOf((char) c))
.collect(Collectors.joining());
System.out.println(result); // 输出: helo wrd
}
}
你也可以使用 StringBuilder
和 Set
来实现字符串去重,并且保持原始顺序。
import java.util.HashSet;
import java.util.Set;
public class StringDeduplication {
public static void main(String[] args) {
String str = "hello world";
Set<Character> set = new HashSet<>();
StringBuilder sb = new StringBuilder();
for (char c : str.toCharArray()) {
if (set.add(c)) {
sb.append(c);
}
}
String result = sb.toString();
System.out.println(result); // 输出: helo wrd
}
}
这些方法都可以有效地对字符串进行去重,并且可以根据具体需求选择合适的方法。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。