【发布时间】:2021-08-05 17:26:57
【问题描述】:
我有字符串列表,想要对值进行排序。
List<String> list = new ArrayList<String>();
list.add("200.1043725170");
list.add("100.1043725171");
list.add("100.1043725170");
list.add("65535.4294967295");
list.add("4294967295.65535");
尝试了几种方法来对相同的排序,但未能通过有效的解决方案来获得准确的结果。
list.forEach(value ->{
dList.add(BigDecimal.valueOf(Double.parseDouble(value)));
});
Collections.sort(dList);
使用上述方法,值是排序的,但最后一个零不在 (.) 之后打印,因为它不被认为是相关的。但我也需要有尾零,因为我们在其他地方比较这些值。
我正在寻找的最终输出是
100.1043725170
100.1043725171
200.1043725170
65535.4294967295
4294967295.65535
这里有什么建议可以通过有效的方法达到同样的效果
【问题讨论】:
-
比较为字符串值。 dList 只是一个列表“List
dList = new ArrayList();” -- 返回时,我必须从这个 API 中返回字符串列表 -
什么是“双
BigDecimal号码”? -
为什么你需要在第一个和第三个而不是最后一个填充零?
-
在我的输入中,最后一个元素没有尾随零。我不应该操纵输入值只是想对它们进行排序。
-
所以您需要在 9 位数字上使用单个填充零,但您不需要在 5 位数字上使用五个填充零?这是没有意义的。你说,«但我也需要有尾零,因为我们正在其他地方比较这些值。 »
标签: java sorting collections java-8