java - 在 Java 中不区分大小写的字母数字数据(和特殊字符)的排序标准

标签 java sorting

我有一个字符序列列表。我需要按照感觉自然的顺序对它们进行排序。我正在用 Java 编码。 我最初的想法是使用 Collections.sort()。但我认为这种方法遵循分隔小写和大写文本的 ASCII 顺序。这不是自然流。

为了定义“自然排序”,我进行了快速搜索并找到了 NISO TR03-1999 标准,它似乎解决了这个问题。

所以我想我需要一种使用该标准中定义的算法进行排序的方法。 Java 中有这样做的功能吗?还是我需要自己实现?

我在这里忽略了什么吗?

过去有没有人遇到过类似的问题?你是如何处理的?

这是测试 Collections.sort() 的代码示例:

List<String> list = new ArrayList<String>();

list.add("z");
list.add("a");
list.add("Z");
list.add("A");
list.add("z 1");
list.add("a 1");
list.add("Z 1");
list.add("A 1");
list.add(" space");
list.add("!");
list.add(".");
list.add(";");
list.add("\\");
list.add("/");
list.add("+");
list.add("1");
list.add("2");
list.add("10");
list.add("1abc");
list.add("2abc");
list.add("10abc");

Collections.sort(list);

for (String string : list)
    System.out.println(string);

最佳答案

关于java - 在 Java 中不区分大小写的字母数字数据(和特殊字符)的排序标准,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31549167/

相关文章:

java通过http get发送图像不起作用

"immutable class"的 Java 构造函数具有许多具有默认值的字段?

java - 如何对列表 HashMap 进行排序?

java - 更高效的排序算法?

c# - 如何按长度降序对字符串列表的内容进行排序?

java - 我如何优化这个java代码?

java - 使用 Jackson GWT 访问嵌套 JSON 值

java - Drools 单例 StatefulKnowledgeSession 作为 Web 服务

PHP - 组合子数组并按值排序?

java - 2D Array(Double) 排序给出 0 个值