java怎么让一个字符串不重复
时间: 2023-11-23 17:05:40 浏览: 35
可以使用Set来实现字符串去重,Set是不允许有重复元素的集合。具体实现可以先将字符串转换成字符数组,然后使用Set集合对字符数组去重,最后将去重后的字符数组转回字符串即可。
以下是示例代码:
```
String str = "abbcccddddeeeee";
char[] charArray = str.toCharArray();
Set<Character> charSet = new LinkedHashSet<>();
for (char c : charArray) {
charSet.add(c);
}
StringBuilder sb = new StringBuilder();
for (Character c : charSet) {
sb.append(c);
}
String result = sb.toString();
System.out.println(result); // 输出: abcde
```
另外,如果要保持字符串的顺序不变,可以使用LinkedHashSet代替HashSet。
相关问题
java 随机字符串不重复
可以使用Java中的Random类和StringBuilder类来生成不重复的随机字符串。具体实现可以参考以下代码:
```java
import java.util.HashSet;
import java.util.Random;
import java.util.Set;
public class RandomStringGenerator {
public static void main(String[] args) {
int length = 10; //生成的字符串长度
String randomString = generateRandomString(length);
System.out.println(randomString);
}
private static String generateRandomString(int length) {
String charSet = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; //字符集合
Random random = new Random();
StringBuilder sb = new StringBuilder();
Set<Character> set = new HashSet<>();
while (sb.length() < length) {
char c = charSet.charAt(random.nextInt(charSet.length())); //从字符集中随机选择一个字符
if (!set.contains(c)) { //如果字符不重复,则添加到StringBuilder中
sb.append(c);
set.add(c);
}
}
return sb.toString();
}
}
```
该代码通过生成一个包含所有可能字符的字符集合,然后使用Random类从中随机选择字符,直到生成的字符串长度达到指定长度为止。同时,使用Set集合来判断字符是否已经重复,保证生成的字符串不重复。
java随机个字符串 保证唯一不重复
你可以使用Java中的UUID类来生成唯一的随机字符串。UUID类生成的字符串通常是唯一的,因此可以保证不会有重复的字符串。
以下是一个简单的示例代码:
```java
import java.util.UUID;
public class RandomStringGenerator {
public static void main(String[] args) {
String randomString = UUID.randomUUID().toString();
System.out.println(randomString);
}
}
```
每次运行程序,都会生成一个不同的随机字符串,保证唯一不重复。