이 글에서는 Java의 임의 문자열 배열 생성에 대한 자세한 예제를 주로 소개합니다. 주로 Collections.sort() 메서드를 사용하여 일반 문자열 목록을 정렬하는 데 도움이 필요하면 참조할 수 있습니다.
Java 생성 자세한 설명 무작위 문자열 배열의 예
일반 유형이 문자열인 목록을 정렬하려면 Collections.sort() 메서드를 사용하세요. 특정 요구사항:
1. List
2. 각 문자열의 길이는 10
3 이내의 임의의 정수입니다. 각 문자열의 각 문자는 무작위로 생성되며 문자가 겹칠 수 있습니다.
4. 각 임의의 문자열은 반복될 수 없습니다.
관련된 지식은 String, StringBuffer, ListArray, generics, Collections.sort, foreach, Random 및 기타 관련 지식으로, JAVA 학습 과정에서 더 나은 방법으로 간주될 수 있습니다. .
1. 무작위로 문자 생성
1.1 먼저 나중에 사용할 수 있도록 모든 문자와 숫자 0-9를 문자열에 저장합니다.
String str = "aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStT uUvVwWxXyYzZ0123456789";
1.2 임의성을 만족시키려면 Random 객체를 만들고 nextInt(str.length) 메서드를 사용하여 난수 0(str.length)을 생성합니다.
Random random = new Random(); int index = random.nextInt(str.length());
1.3 그런 다음 위에서 생성된 난수를 str 문자열의 인덱스로 사용하여 해당 문자를 검색하고 문자를 무작위로 생성합니다.
char c = str.charAt(index);
2 길이가 있는 임의의 문자열을 생성합니다. of 10 String
2.1 10 이내이고 난수성을 만족하므로 여기서는 Math.random() 함수를 사용하고, 그 반환값은 0.0~1.0
StringBuffer stringBuffer = new StringBuffer(); //确定字符串长度 int stringLength = (int) (Math.random()*10);
2.2 이제 문자열 길이를 확인하고 임의의 문자를 생성할 수 있습니다. 그런 다음 for 루프를 사용하여 길이가 10
for (int j = 0; j < stringLength; j++) { int index = random.nextInt(str.length()); char c = str.charAt(index); stringBuffer.append(c); } //将StringBuffer转换为String类型的字符串 String string = stringBuffer.toString();
3인 임의의 문자열을 생성합니다. 3.1 위의 두 단계를 통과한 다음 외부에 for 루프를 중첩하면 10개의 임의 문자열을 생성할 수 있습니다
4.1 문자열 유형 컬렉션을 만듭니다. 단계는 3단계와 동시에 완료되어야 합니다
List<String> listString = new ArrayList<String>();
//判断当前的list容器中是否已有刚生成的字符串,满足每条字符串不可重复性 if(!(listString.contains(stringBuffer.toString()))){ listString.add(stringBuffer.toString()); }else { //i-- 如果不满足则重新生成 i--; }
5.1 Collections.sort() 메서드를 호출하여 컬렉션을 정렬합니다. 정렬 규칙은 다음과 같습니다.
import java.util.ArrayList; import java.util.Collection; import java.util.Collections; import java.util.List; import java.util.Random; public class RandomString { public static void main(String[] args) { ListstrList = randomString(); System.out.println("------随机生成的10条字符串-------"); for (String string : strList) { System.out.println(string); } System.out.println("------------排序后------------"); Collections.sort(strList); for (String string : strList) { System.out.println(string); } } public static List randomString(){ //将所有的大小写字母和0-9数字存入字符串中 String str = "aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ0123456789"; Random random = new Random(); List<String> listString = new ArrayList<String>(); String strArray[ ] = new String[10]; //生成10条长度为1-10的随机字符串 for (int i = 0; i < 10; i++) { StringBuffer stringBuffer = new StringBuffer(); //确定字符串长度 int stringLength = (int) (Math.random()*10); for (int j = 0; j < stringLength; j++) { //先随机生成初始定义的字符串 str 的某个索引,以获取相应的字符 int index = random.nextInt(str.length()); char c = str.charAt(index); stringBuffer.append(c); } //判断当前的list容器中是否已有刚生成的字符串,满足每条字符串不可重复性 if (!(listString.contains(stringBuffer.toString()))) { listString.add(stringBuffer.toString()); }else { i--; } } return listString; } }
위 내용은 Java에서 임의의 문자열 배열을 생성하는 방법 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!