java - 对数字 1-10 进行排序,以拼写形式存储在 java 的数组列表中

标签 java sorting arraylist

我有字符串数组列表,如下

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/

相关文章:

java - Android studio 如何使自定义 View 可滚动?

java - 使用 JMX 的多个 Java 应用程序

python - 如何在Python中的数据集的两个不同列中找到相同值的匹配

php - 拆分并回显到列表中

java - 如何从 ArrayList<> 读取到 ArrayList<> 并将其打印到终端?

java - Mallet HMM 训练问题

Java继承和对象

list - vue订单 ListView

java - 如何在特定方案中对 ireport 交叉表中的列进行排序

java - 如何在android中将多个记录从一个 Activity 传递到另一个 Activity ?