사전식 순서라는 용어는 어휘 순서, 사전식(al) 제품, 알파벳 순서 또는 사전 순서 등 이름으로 알려진 수학 용어입니다.
이 섹션에서는 사전순 순서, 정의 및 기타 자세한 정보에 대해 다룹니다. 그 다음에는 사전식 순서의 개념을 어떻게 사용하는지 배우겠습니다. 자바 프로그래밍 언어 .
사전 편찬 순서 정의
수학에서의 사전식 순서 또는 사전식은 사전의 알파벳순 순서를 순서가 지정된 기호 또는 전체 순서 목록의 요소 순서로 일반화한 것입니다. 사전식 순서라는 용어는 '어휘'라는 단어에서 유래되었습니다. 어휘집은 일부 다른 언어에서 사용되는 단어 집합이며 일반적인 순서를 따릅니다. 따라서 사전식 순서는 기본 기호의 순서가 제공되는 단어 순서를 공식화하는 방법입니다.
PD 병합
프로그래밍에서 사전식 순서는 다음과 같이 널리 알려져 있습니다. 사전 순서 문자열 배열을 정렬하거나, 두 문자열을 비교하거나, 배열 요소를 정렬하는 데 사용됩니다. 요소를 어휘적으로 정렬하는 것이 매우 쉬워졌습니다. 사전식 순서에는 다음과 같은 여러 변형과 일반화가 있기 때문입니다.
- 하나의 변형은 특정 요소를 고려하기 전에 시퀀스의 길이가 비교되는 것과 같이 다양한 길이의 시퀀스에 적용 가능합니다.
- 두 번째 변형은 주어진 유한 집합의 하위 집합을 순서대로 사용하는 데 사용됩니다. 이는 유한 집합에 총 차수를 할당함으로써 이를 수행합니다. 그런 다음 하위 집합을 사전 편찬 순서가 적용되는 증가하는 시퀀스로 변환합니다.
- 일반화는 부분적으로 정렬된 집합의 데카르트 곱 시퀀스를 나타내며, 이러한 시퀀스는 데카르트 곱의 각 요소가 전체적으로 정렬되는 경우에만 전체 순서입니다.
사전 편찬 순서의 형식적 개념 이해
- 사전 편찬 순서의 형식적 개념을 이해하려면 다음을 수행하십시오.
- 이는 알파벳으로 알려져 있고 완전히 순서가 지정된 유한 집합 A로 시작합니다. 이는 또한 A의 a와 b(상이하고 동일하지 않은 임의의 두 기호)에 대해 다음 중 하나를 의미합니다.
- 여기서 A의 단어는 A의 유한한 기호 시퀀스이며 단일 기호를 포함하는 길이 1의 단어, 두 개의 기호가 있는 길이 2의 단어, 길이 3의 단어는 3 등을 포함합니다. 이와 관련하여 빈 시퀀스도 포함되어 있습니까? 기호가 전혀 없습니다. 따라서 유한 집합 A의 사전 편찬 순서는 다음과 같이 설명될 수 있습니다.
- 길이가 같은 두 개의 서로 다른 세계에 대해 a=a라고 가정합니다.1ㅏ2…ㅏ케이그리고 b=b1비2…비케이주어진다. 여기서 두 단어의 순서는 처음 i에 있는 기호의 알파벳 순서에 따라 달라지며, 여기서 두 단어는 단어의 시작 부분부터 셀 때 달라집니다. 즉, 조건 a를 만족합니다. 나 i는 알파벳 A순으로 되어있습니다.
- 두 단어의 길이가 다른 경우 일반적인 사전 순서는 두 단어의 길이가 같아질 때까지 단어 끝에 공백을 두고 더 짧은 길이로 채운 다음 단어를 비교합니다.
Java에서 사전 편찬 구현
위에서 설명한 대로 사전식 순서는 두 문자열을 비교하거나 요소를 정렬하는 데 사용될 수 있습니다. 여기서는 두 가지 방법을 모두 논의하고 각각을 구현해 보겠습니다.
사전순으로 요소 정렬
단어를 순서대로 배열하는 것을 사전순 또는라고도 알려진 사전 순서 . 이는 사전식 순서를 적용할 때 단어가 해당 구성 요소 알파벳에 따라 알파벳순으로 정렬됨을 의미합니다. 문자열 배열을 사전순으로 정렬하려면 다음 두 가지 방법이 있습니다.
방법 1: 정렬 방법 적용
다음은 사전순으로 요소를 정렬하는 방법을 이해하는 데 도움이 되는 예제 코드입니다.
RDBMS 정규화
public class Main { public static void main(String[] args) { String[] name = { 'John','Remo','Mixy','Julie','Ronny'}; int n = 5; System.out.println('Before Sorting'); for(int i = 0; i <n; i++) { system.out.println(name[i]); } for(int i="0;" < n-1; ++i) for (int j="i" + 1; 0) string temp="name[i];" name[i]="name[j];" name[j]="temp;" system.out.println(' after performing lexicographical order: '); n; pre> <p> <strong>Code Explanation:</strong> </p> <p>In the above code, we have created a class Main within which the main () method is created.</p> <ul> <li>A string has been initialized, holding some values to it, and each word will get printed as per for loop.</li> <li>Then, we have implemented the main logic within another for loop with the help of which we can form the lexicographical order of the words given.</li> <li>Finally, via for loop, the arranged words are printed on the screen.</li> </ul> <p> <strong>On executing the above example code, we got the following output:</strong> </p> <img src="//techcodeview.com/img/java-tutorial/62/lexicographical-order-java.webp" alt="Lexicographical Order Java"> <p>From the output, we can analyze that the given sequence of the words was not in alphabetical order but after applying the lexicographical order code, we can see that every word is sequenced now in alphabetical order.</p> <p> <strong>Method 2: Applying sort () function</strong> </p> <p>The sort () method is available in the Arrays class within the util package.</p> <p>Below is the example code given that will let us understand that how we can perform sorting on elements in Lexicographical order:</p> <pre> import java.io.*; import java.util.Arrays; class Main { public static void printArray(String str[]) { for (String string : str) System.out.print(string + ' '); System.out.println(); } public static void main(String[] args) { String arr[] = {'John','Harry','Emlie','Ronny','Julie','Mary' }; Arrays.sort(arr,String.CASE_INSENSITIVE_ORDER); printArray(arr); } } </pre> <p> <strong>On executing the above output, we got the below-shown output:</strong> </p> <img src="//techcodeview.com/img/java-tutorial/62/lexicographical-order-java-2.webp" alt="Lexicographical Order Java"> <h3>Comparing two strings using Lexicographical order in Java</h3> <p>For comparing two strings using Lexicographical order, we have the following two methods:</p> <p> <strong>Using compareTo () method</strong> </p> <p>Let's begin one by one:</p> <p> <strong>Using compareTo () method</strong> </p> <p>Below is an example implementation by which we can compare to strings lexicographically:</p> <pre> import java.lang.*; public class StringExample { public static void main(String[] args) { String str1 = 'String', str2 = 'Comparison'; int get_val = str1.compareTo(str2); if (get_val <0) { system.out.println('str1 is greater than str2'); } else if (get_val="=" 0) equal to less < pre> <p> <strong>Code Explanation:</strong> </p> <ul> <li>We have created a class StringExample where we have implemented the main () method.</li> <li>We have initialized two strings, i.e., str1 and str2.</li> <li>Next, using the compareTo () method, we have compared the strings str1 and str2.</li> <li>After it, if the get_val value is found less than 0, it means str1 is greater than str2.</li> <li>Else if the get_val value is equal to 0, it means both str1 and str2 strings are equal.</li> <li>Else, both the strings str1 is less than str2.</li> </ul> <p> <strong>Output:</strong> </p> <img src="//techcodeview.com/img/java-tutorial/62/lexicographical-order-java-3.webp" alt="Lexicographical Order Java"> <p> <strong>By creating a user-defined function</strong> </p> <p>Below we have created a user-defined function using which we can compare two strings lexicographically. The code is as follows:</p> <pre> public class StringExample { public static void main(String[] args) { String firstString = 'Red'; String secondString = 'Red'; String thirdString = 'Green'; String fourthString = 'Yellow'; String fifthString = 'REdGreen'; System.out.println('Comparing two strings lexicographically by user defined function'); System.out.print(' Compairing firstString ('+firstString+') to the secondString ('+secondString+') returns: '); System.out.println(compareString(firstString, secondString)); System.out.print(' Compairing secondString ('+secondString+') to the thirdString ('+thirdString+') returns: '); System.out.println(compareString(secondString, thirdString)); System.out.print(' Compairing thirdString ('+thirdString+') to the fourthString ('+fourthString+') returns: '); System.out.println(compareString(thirdString, fourthString)); System.out.print(' Compairing fourthString ('+fourthString+') to the firstString ('+firstString+') returns: '); System.out.println(compareString(fourthString, firstString)); System.out.print(' Compairing firstString ('+firstString+') to the fifthString ('+fifthString+') returns: '); System.out.println(compareString(firstString, fifthString)); } public static int compareString(String str, String argString) { int lim= Math.min(str.length(), argString.length()); int k=0; while(k<lim) { if(str.charat(k)!="argString.charAt(k))" return (int) str.charat(k)- argstring.charat(k); } k++; str.length() - argstring.length(); < pre> <p> <strong>Output:</strong> </p> <img src="//techcodeview.com/img/java-tutorial/62/lexicographical-order-java-4.webp" alt="Lexicographical Order Java"> <p> <strong>Code Explanation:</strong> </p> <ul> <li>We have created a Java class where we have initialized five strings.</li> <li>Next, we have compared the first string with the second string, the second to the third-string, and so on..</li> <li>For making the comparison, we have created a user-defined function compareString () whereby comparing the length and each character of the strings, and we got the results.</li> </ul> <p>Therefore, in this way, we can make use of the lexicographical order in Java for performing such tasks.</p> <hr></lim)></pre></0)></pre></n;>
위 출력을 실행하면 아래와 같은 출력이 표시됩니다.
Java에서 사전순을 사용하여 두 문자열 비교
사전식 순서를 사용하여 두 문자열을 비교하기 위해 다음 두 가지 방법이 있습니다.
CompareTo() 메서드 사용
하나씩 시작해 보겠습니다.
CompareTo() 메서드 사용
자바 무작위 수학 무작위
다음은 사전순으로 문자열을 비교할 수 있는 구현 예입니다.
import java.lang.*; public class StringExample { public static void main(String[] args) { String str1 = 'String', str2 = 'Comparison'; int get_val = str1.compareTo(str2); if (get_val <0) { system.out.println(\'str1 is greater than str2\'); } else if (get_val="=" 0) equal to less < pre> <p> <strong>Code Explanation:</strong> </p> <ul> <li>We have created a class StringExample where we have implemented the main () method.</li> <li>We have initialized two strings, i.e., str1 and str2.</li> <li>Next, using the compareTo () method, we have compared the strings str1 and str2.</li> <li>After it, if the get_val value is found less than 0, it means str1 is greater than str2.</li> <li>Else if the get_val value is equal to 0, it means both str1 and str2 strings are equal.</li> <li>Else, both the strings str1 is less than str2.</li> </ul> <p> <strong>Output:</strong> </p> <img src="//techcodeview.com/img/java-tutorial/62/lexicographical-order-java-3.webp" alt="Lexicographical Order Java"> <p> <strong>By creating a user-defined function</strong> </p> <p>Below we have created a user-defined function using which we can compare two strings lexicographically. The code is as follows:</p> <pre> public class StringExample { public static void main(String[] args) { String firstString = 'Red'; String secondString = 'Red'; String thirdString = 'Green'; String fourthString = 'Yellow'; String fifthString = 'REdGreen'; System.out.println('Comparing two strings lexicographically by user defined function'); System.out.print(' Compairing firstString ('+firstString+') to the secondString ('+secondString+') returns: '); System.out.println(compareString(firstString, secondString)); System.out.print(' Compairing secondString ('+secondString+') to the thirdString ('+thirdString+') returns: '); System.out.println(compareString(secondString, thirdString)); System.out.print(' Compairing thirdString ('+thirdString+') to the fourthString ('+fourthString+') returns: '); System.out.println(compareString(thirdString, fourthString)); System.out.print(' Compairing fourthString ('+fourthString+') to the firstString ('+firstString+') returns: '); System.out.println(compareString(fourthString, firstString)); System.out.print(' Compairing firstString ('+firstString+') to the fifthString ('+fifthString+') returns: '); System.out.println(compareString(firstString, fifthString)); } public static int compareString(String str, String argString) { int lim= Math.min(str.length(), argString.length()); int k=0; while(k<lim) { if(str.charat(k)!="argString.charAt(k))" return (int) str.charat(k)- argstring.charat(k); } k++; str.length() - argstring.length(); < pre> <p> <strong>Output:</strong> </p> <img src="//techcodeview.com/img/java-tutorial/62/lexicographical-order-java-4.webp" alt="Lexicographical Order Java"> <p> <strong>Code Explanation:</strong> </p> <ul> <li>We have created a Java class where we have initialized five strings.</li> <li>Next, we have compared the first string with the second string, the second to the third-string, and so on..</li> <li>For making the comparison, we have created a user-defined function compareString () whereby comparing the length and each character of the strings, and we got the results.</li> </ul> <p>Therefore, in this way, we can make use of the lexicographical order in Java for performing such tasks.</p> <hr></lim)></pre></0)>0)>