我有字符串数组列表,如下
List<String> list = new ArrayList<String>();
list.add("one");
list.add("ten");
list.add("six");
list.add("two");
排序后的输出应该是
一、二、六、十
最佳答案
快速而简短的解决方案:
List<String> allNumbers = Arrays.asList("one", "two", "three", "four", "five", "six", "seven", "eight", "nine", "ten");
Collections.sort(list, (i1, i2) -> allNumbers.indexOf(i1) - allNumbers.indexOf(i2));
使用带有索引字符串键的 HashMap
来实现更快的算法(如果有 10 个值,无论如何都没有区别)。
关于java - 对数字 1-10 进行排序,以拼写形式存储在 java 的数组列表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43957066/