java - java:我可以对具有相同长度的字符串类型数进行排序吗
问题描述
有像'20190709','20190929'等字符串。它们的长度相同,都是'数字'。我正在尝试对它们进行排序而不转移到其他类型,我希望结果与 int 排序相同。我们不谈论效率问题。还有其他问题会导致错误的结果吗?
解决方案
如果要按String
数字顺序对 s 列表进行排序,最简单的方法是:
Arrays.sort(strings, Comparator.comparingInt(Integer::parseInt));
为一个String[]
Collections.sort(strings, Comparator.comparingInt(Integer::parseInt));
对于一个List<String>
。
你说“不转移到另一种类型”。上述方法会将 s 隐式转换String
为int
s,但您仍将保留您的String
引用。
大多数排序String
s 的方法将使用字母顺序,这将给出与数字顺序不同的结果。
这些方法也相对有效。
推荐阅读
- javascript - MuleSoft 解析模板参考
- c++ - SDL2 不会为重音键生成 KEYDOWN 和 KEYUP 事件
- django - django jsonField 过滤以从指定键中获取值列表
- python - Spyder 中安装的软件包未显示在 Sublime 文本中(OS High Sierra)
- excel - 输入新数据时需要自动对 2 列进行排序
- android - 哪个是检查用户位置(android 应用程序)是否在多边形内的更好方法
- python - 在 Python 中减去返回 NaN 的数据帧
- python - 字典的条件循环
- ios - 以编程方式编辑 UIStackView
- klipfolio - 根据日期范围和项目编号选择数据