java 随机字符串
时间: 2023-11-13 12:57:59 浏览: 44
Java中生成随机字符串可以使用Java自带的Random类和StringBuilder类,具体实现可以参考以下代码:
```java
import java.util.Random;
public class RandomStringGenerator {
private static final String CHARACTERS = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
public static String generate(int length) {
Random random = new Random();
StringBuilder sb = new StringBuilder(length);
for (int i = 0; i < length; i++) {
sb.append(CHARACTERS.charAt(random.nextInt(CHARACTERS.length())));
}
return sb.toString();
}
}
```
这个代码中,我们定义了一个常量`CHARACTERS`,包含了所有可能出现在随机字符串中的字符。然后我们使用Java自带的Random类生成随机数,并根据随机数从`CHARACTERS`中选取字符,最终生成一个指定长度的随机字符串。
相关问题
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的Collections.shuffle()方法来随机排列字符串的内容顺序。以下是一个示例代码:
```java
import java.util.*;
public class RandomString {
public static void main(String[] args) {
String str = "abcdefghijklmnopqrstuvwxyz";
char[] chars = str.toCharArray();
List<Character> charList = new ArrayList<>();
for (char c : chars) {
charList.add(c);
}
Collections.shuffle(charList);
StringBuilder sb = new StringBuilder();
for (char c : charList) {
sb.append(c);
}
String randomStr = sb.toString();
System.out.println(randomStr);
}
}
```
在上面的示例代码中,我们首先将字符串转化为字符数组,然后将字符数组转化为字符列表,并使用Collections.shuffle()方法来随机排列字符列表中的元素。最后,我们将随机排列后的字符列表转化为字符串并输出。