扭转字符串

-2 java reverse

我有一个字符串,如Apple-> Ball-> Cat-> Dog,并希望将其反转为Dog-> Cat-> Ball-> Apple.可以通过在每个' - >'处拆分字符串来完成,然后添加每个元素是一个数组,然后反转数组然后添加箭头.但有没有更快的方法呢?用java反转它最快的方法是什么?

STa*_*efi 5

不要使用标记化.您可以尝试StringBuffer反向方法:

String input = "A->B->C->D";
input = input.replace("->", "-");
input = new StringBuffer(input).reverse().toString();
input = input.replace("-", "->");
System.out.println(input);
Run Code Online (Sandbox Code Playgroud)

这将保持 - >按正确的顺序:

input: "A->B->C->D"
output: "D->C->B->A"
Run Code Online (Sandbox Code Playgroud)

祝好运;

[编辑]:

好吧,首先你没有提到你的String可能包含非单个字符.所以上面的答案无法满足你的需求.但是如果你的字符串中有唯一的名字,你可以用这种方式用一个字符替换每个名字并且它有效.但我不确定它会比你自己的解决方案更好(对数组进行Tokenize并反转数组).