在 java 中对罗马数字进行排序

Sorting roman numeral in java

输入:

[IX, VIII]

期望的输出:

[VIII, IX]

阶段0的输出

[8, 9]

我创建了一个函数来 return 罗马数字的十进制值 然后我有另一个函数根据递增顺序对数字进行排序。

我卡在了如何将排序后的十进制向量return转换为罗马数字的问题上。

这是我的代码示例。

static int romanToDecimal(String romanNumber){...
}

static List<String> sortedList(List<String> number) {
    Vector<Integer> v = new Vector<Integer>();
    int size = number.size();
    for (int i = 0; i < size; i++) 
        v.add(romanToDecimal(number.get(i)));
    Collections.sort(v);  //stage 0
}

您可以使用Comparator util class 来比较实际数值:

static void sortRomanNumerals(List<String> romanNumerals){
    romanNumerals.sort(Comparator.comparing(Main::romanToDecimal));
}