📌  相关文章
📜  按字典顺序(字典顺序)对元素进行排序的Java程序

📅  最后修改于: 2022-05-13 01:55:32.323000             🧑  作者: Mango

按字典顺序(字典顺序)对元素进行排序的Java程序

使用两种方法按字典顺序(字典顺序)对字符串数组进行排序:

  1. 通过使用任何排序技术对数组元素进行排序。
  2. 通过使用Java中 util 包中 Arrays 类中的 sort()函数。

例子:

Input : Harit Girish Gritav Lovenish Nikhil Harman 
Output: Girish Gritav Harit Harman Lovenish Nikhil

Input : Bob Alice
Output: Alice Bob 

方法一:简单的排序技术。

在这种方法中,使用 String 类的 compareToIgnoreCase() 方法比较两个字符串。

使用的功能:

int compareToIgnoreCase(String);

返回值:

  1. 0 如果参数是一个在字典上等于这个字符串的字符串。
  2. 如果参数是按字典顺序大于此字符串的字符串,则小于 0。
  3. 如果参数是按字典顺序小于此字符串的字符串,则大于 0。

使用排序技术按字典顺序对字符串数组进行排序的Java程序

Java
// Java Program to Sort Elements in
// Lexicographical Order (Dictionary Order)
import java.io.*;
  
class GFG {
  
    // this method sort the string array lexicographically.
    public static void
    sortLexicographically(String strArr[])
    {
        for (int i = 0; i < strArr.length; i++) {
            for (int j = i + 1; j < strArr.length; j++) {
                if (strArr[i].compareToIgnoreCase(strArr[j])
                    > 0) {
                    String temp = strArr[i];
                    strArr[i] = strArr[j];
                    strArr[j] = temp;
                }
            }
        }
    }
  
    // this function prints the array passed as argument
    public static void printArray(String strArr[])
    {
        for (String string : strArr)
            System.out.print(string + " ");
        System.out.println();
    }
  
    public static void main(String[] args)
    {
        // Initializing String array.
        String stringArray[]
            = { "Harit",    "Girish", "Gritav",
                "Lovenish", "Nikhil", "Harman" };
  
        // sorting String array lexicographically.
        sortLexicographically(stringArray);
  
        printArray(stringArray);
    }
}


Java
// Java Program to Sort Elements in
// Lexicographical Order (Dictionary Order)
import java.io.*;
import java.util.Arrays;
  
class GFG {
    // this function prints the array passed as argument
    public static void printArray(String strArr[])
    {
        for (String string : strArr)
            System.out.print(string + " ");
        System.out.println();
    }
    public static void main(String[] args)
    {
        // Initializing String array.
        String stringArray[]
            = { "Harit",    "Girish", "Gritav",
                "Lovenish", "Nikhil", "Harman" };
  
        // sorting String array in Lexicographical Order.
        // Ingonring the case of string.
        Arrays.sort(stringArray,
                    String.CASE_INSENSITIVE_ORDER);
  
        // printing String array after sorting.
        printArray(stringArray);
    }
}


输出
Girish Gritav Harit Harman Lovenish Nikhil 

时间复杂度: O(n 2 ),其中 n 是数组的大小。

方法 2:通过使用Arrays.sort()

在这种方法中,使用了Java.utils.Arrays 类方法中的 sort() 方法。

使用的功能:

Arrays.sort(stringArray, String.CASE_INSENSITIVE_ORDER);

// First Parameter : Name of Array
// Second Parameter: Special command to ignore case while sorting.

使用 Arrays.sort() 方法按字典顺序对字符串数组进行排序的Java程序

Java

// Java Program to Sort Elements in
// Lexicographical Order (Dictionary Order)
import java.io.*;
import java.util.Arrays;
  
class GFG {
    // this function prints the array passed as argument
    public static void printArray(String strArr[])
    {
        for (String string : strArr)
            System.out.print(string + " ");
        System.out.println();
    }
    public static void main(String[] args)
    {
        // Initializing String array.
        String stringArray[]
            = { "Harit",    "Girish", "Gritav",
                "Lovenish", "Nikhil", "Harman" };
  
        // sorting String array in Lexicographical Order.
        // Ingonring the case of string.
        Arrays.sort(stringArray,
                    String.CASE_INSENSITIVE_ORDER);
  
        // printing String array after sorting.
        printArray(stringArray);
    }
}
输出
Girish Gritav Harit Harman Lovenish Nikhil 

时间复杂度: O ( n log n )