Java 字符串版本比较

Java 字符串版本比较,java,Java,嗨,我有字符串数组 字符串版本[]={3.1.2,2.1.7,3.1.1,3.7.3,2.6.4,1.3.4.7} 我想在其中找到最新的版本。哪种方法比较好?它应该打印3.7.3,这里是一个使用比较器的示例 试试这个 import java.util.Arrays; import java.util.Collections; import java.util.List; public class StringSortDemo { public static void main(Str

嗨,我有字符串数组

字符串版本[]={3.1.2,2.1.7,3.1.1,3.7.3,2.6.4,1.3.4.7}


我想在其中找到最新的版本。哪种方法比较好?它应该打印3.7.3,这里是一个使用比较器的示例

试试这个

import java.util.Arrays;
import java.util.Collections;
import java.util.List;

public class StringSortDemo {

    public static void main(String[] args) throws Exception {

        String strArray[] = {"3.1.2","2.1.7","3.1.1","3.7.3","2.6.4","1.3.4.7"};
        displayArray(strArray);

        Arrays.sort(strArray);
        displayArray(strArray);

        Arrays.sort(strArray, String.CASE_INSENSITIVE_ORDER);
        displayArray(strArray);

        System.out.println("---------------");

        List<String> strList =Arrays.asList(strArray);
        displayList(strList);

        Collections.sort(strList);
        displayList(strList);

        Collections.sort(strList, String.CASE_INSENSITIVE_ORDER);
        displayList(strList);
    }

    public static void displayArray(String[] array) {
        for (String str : array) {
            System.out.print(str + " ");
        }
        System.out.println("The last element is  "+ array[array.length-1]);
    }

    public static void displayList(List<String> list) {
        for (String str : list) {
            System.out.print(str + " ");
        }
        System.out.println("The last element is  "+ list.get(list.size()-1));
    }

}
我建议您创建一个版本类型,它理解这是一个有序的数字序列,并实现可比较的
import java.util.Arrays;
import java.util.Collections;
import java.util.List;

public class StringSortDemo {

    public static void main(String[] args) throws Exception {

        String strArray[] = {"3.1.2","2.1.7","3.1.1","3.7.3","2.6.4","1.3.4.7"};
        displayArray(strArray);

        Arrays.sort(strArray);
        displayArray(strArray);

        Arrays.sort(strArray, String.CASE_INSENSITIVE_ORDER);
        displayArray(strArray);

        System.out.println("---------------");

        List<String> strList =Arrays.asList(strArray);
        displayList(strList);

        Collections.sort(strList);
        displayList(strList);

        Collections.sort(strList, String.CASE_INSENSITIVE_ORDER);
        displayList(strList);
    }

    public static void displayArray(String[] array) {
        for (String str : array) {
            System.out.print(str + " ");
        }
        System.out.println("The last element is  "+ array[array.length-1]);
    }

    public static void displayList(List<String> list) {
        for (String str : list) {
            System.out.print(str + " ");
        }
        System.out.println("The last element is  "+ list.get(list.size()-1));
    }

}
3.1.2 2.1.7 3.1.1 3.7.3 2.6.4 1.3.4.7 The last element is  1.3.4.7
1.3.4.7 2.1.7 2.6.4 3.1.1 3.1.2 3.7.3 The last element is  3.7.3
1.3.4.7 2.1.7 2.6.4 3.1.1 3.1.2 3.7.3 The last element is  3.7.3
---------------
1.3.4.7 2.1.7 2.6.4 3.1.1 3.1.2 3.7.3 The last element is  3.7.3
1.3.4.7 2.1.7 2.6.4 3.1.1 3.1.2 3.7.3 The last element is  3.7.3
1.3.4.7 2.1.7 2.6.4 3.1.1 3.1.2 3.7.3 The last element is  3.7.3