Java 原串翻转(5 Ways To Reverse A String In Java )
来源:互联网 发布:程序员思维修炼 pdf 编辑:程序博客网 时间:2024/06/05 09:24
有关java原字符串翻转的问题,本文将介绍五种不同的方法实现
部分参考文章:
http://javahungry.blogspot.com/2014/12/5-ways-to-reverse-string-in-java-with-example.html
写在前面:
StringBuffer类提供了一个reverse()方法,可以直接将可以直接将字符串翻转,而String类中没有这个方法。
String类中提供一个toCharArray()方法,可以将字符串转化成一个char[ ] 数组。而StringBuffer类中也是不存在此方法的
参考JAVA API
StringBuffer类
public StringBuffer reverse()
将此字符序列用其反转形式取代。如果序列中存在代理项 (surrogate pair),在 reverse 操作中将其作为单个字符处理。因此,高-低代理项的顺序不会反转。假设 n 为执行 reverse 方法前此字符序列的字符长度(并非 char 值的长度),则新字符序列中索引 k 处的字符将等于原字符序列索引 n-k-1 处的字符。
返回:
此对象的一个引用。String类
public char[] toCharArray()
将此字符串转换为一个新的字符数组。
返回:
一个新分配的字符数组,它的长度是此字符串的长度,它的内容被初始化为包含此字符串表示的字符序列。
方法一:
使用String类自带的toCharArray( )方法,并从字符数组的最后一位开始打印。
import java.io.*;import java.util.*;public class reverseString { public static void main(String[] args) { String input=""; System.out.println("Enter the input string"); try { //输入要翻转的字符串 BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); input = br.readLine(); char[] try1= input.toCharArray(); for (int i=try1.length-1;i>=0;i--){ System.out.print(try1[i]); } } catch (IOException e) { e.printStackTrace(); }}}
方法二:
使用StringBuffer类自带的reverse( )方法,从字符数组的第一位开始打印。
import java.io.*;import java.util.*;public class reverseString { public static void main(String[] args) { String input="AliveisAwesome"; StringBuilder input1 = new StringBuilder(); input1.append(input); input1=input1.reverse(); for (int i=0;i<input1.length();i++){ System.out.print(input1.charAt(i)); } } }
方法三:
将toCharArray() 转换后的字符数组元素进行逆序化,即将A[N-1]和A[0]交换,A[N-2]和A[1]交换….直到Left >= Right。
import java.io.*;import java.util.*;public class reverseString { public static void main(String[] args) { String input = "Be in present"; char[] temparray= input.toCharArray(); int left,right=0; right=temparray.length-1; for (left=0; left < right ; left++ ,right--) { //交换左右的值 char temp = temparray[left]; temparray[left] = temparray[right]; temparray[right]=temp; } for (char c : temparray) System.out.print(c); System.out.println(); } }
=============以下方法还不是太透彻,如有错误欢迎指出===============
方法四:
Java中 Collections类中也提供了一个reverse(List<> list)方法,其参数是list,因此要使用此方法必须将String转成字符数组然后存到list中去,此处使用LinkedList,因为它在插入时保留了插入顺序。
import java.io.*;import java.util.*;public class reverseString { public static void main(String[] args) { String input = "Be in present"; char[] hello=input.toCharArray(); List<Character> trial1= new LinkedList<>(); for(char c: hello) trial1.add(c); Collections.reverse(trial1); ListIterator li = trial1.listIterator(); while(li.hasNext()){ System.out.print(li.next());} } }
- Java 原串翻转(5 Ways To Reverse A String In Java )
- Decode Ways & String to Integer & Reverse Words in a String
- Reverse Words in a String(字符翻转)
- 字符串-Reverse Words in a String(翻转字符串)
- Reverse Words in a String 翻转字符串
- 原串翻转(Java)
- Leetcode-Reverse Words in a String -java
- LeetCode:Reverse Words in a String (Java)
- Reverse Words in a String Java
- [Leetcode][JAVA] Reverse Words in a String
- 【Leetcode】Reverse Words in a String JAVA
- Reverse Words in a String (Java)
- LeetCode|Reverse Words in a String-java
- Reverse words in a string by java
- 翻转单词顺序 Reverse Words in a String
- Reverse Words in a String 翻转句子的单词
- 【LintCode】Reverse Words in a String 翻转字符串
- Reverse Words in a String 翻转单词顺序
- bulletin board system (BBS)
- poj1236-Tarjan算法
- 编程之美 - 一排石头游戏及扩展问题
- vim命令
- Spring JdbcTemplate方法详解
- Java 原串翻转(5 Ways To Reverse A String In Java )
- javac 不是内部命令完美解决方案
- B. Wet Shark and Bishops
- 关于java web项目的部署操作
- 菜鸟学前端----图标字体使用详解
- tomcat【1】(什么时候需要重启tomcat)
- Java自定义类加载器
- STL是什么
- 自动化测试的前提及过程