【发布时间】:2015-03-09 17:32:21
【问题描述】:
我写了一些代码来反转一个数字,如下所示:
long num = 123456789;
char[] arr = String.valueOf(num).toCharArray();
List<Character> characterList = new ArrayList<Character>();
for (char c : arr) {
characterList.add(c);
}
Collections.reverse(characterList);
for (Character c : characterList) {
System.out.println(c);
}
输出:
9
8
7
6
5
4
3
2
1
谁能给我一个更有效的方法来用 Java 实现这一点?
编辑:
其实这个问题的第一个指南是把它们倒过来打印出来,这种方式请忽略。
【问题讨论】:
-
为什么希望它更高效?你如何使用它?您是否有性能测试表明它太慢了?如果不是,请不要优化它。
-
好吧,你为什么不从 char[] arr 向后打印它们?
-
您为什么要提高效率?您可以使用标准的 for 循环并向后循环 char 数组;使用预先分配了 char 数组大小的数组列表(如果需要列表)。否则如果只是为了打印:
while(num != 0) { println(num % 10); num /= 10; }
标签: java