Java字符串反转以及数组集合转换的方法
文章目錄
- 基礎(chǔ)簡述
- 1.String,Char,Array,List簡述
- 2.String,StringBuffer,StringBuilder簡述以及區(qū)別
- 一.最簡單的題目字符串反轉(zhuǎn)
- 二.數(shù)組和List間的轉(zhuǎn)換
基礎(chǔ)簡述
1.String,Char,Array,List簡述
Char字符,可以理解為看見的元素即為字符,char在java中表示單個字符,一個字母一個數(shù)字一個漢一個符號都可以是字符,漢字占的的字節(jié)數(shù)為2。
String字符串,簡單理解即一串拼接在一起的字符,在Java中為常量,不可修改
Array不可變數(shù)組,在Java中數(shù)組是不可變的,Array不是關(guān)鍵字,Java中寫法為: String[] arr;
List可變數(shù)組,可變數(shù)組,在Java中為一個接口,其典型實現(xiàn)類為ArrayList,有序列表。
2.String,StringBuffer,StringBuilder簡述以及區(qū)別
StringBuffer,是可以存儲和操作字符串,即包含多個字符的字符串?dāng)?shù)據(jù)。
String類是字符串常量,是不可更改的常量。而StringBuffer是字符串變量,它的對象是可以擴充和修改的。
StringBuilder 類是 JDK 1.5 新增的類,它也代表可變字符串對象。實際上,StringBuilder 和 StringBuffer 功能基本相似,方法也差不多。不同的是,StringBuffer 是線程安全的,而 StringBuilder 則沒有實現(xiàn)線程安全功能,所以性能略高。因此在通常情況下,如果需要創(chuàng)建一個內(nèi)容可變的字符串對象,則應(yīng)該優(yōu)先考慮使用 StringBuilder 類。
總結(jié)String不可變,高效用StringBuilder,安全使用StringBuffer
一.最簡單的題目字符串反轉(zhuǎn)
四種解法:
1,利用字符串的拼接(charAt()方法),把后遍歷出來的放在前面即可實現(xiàn)反轉(zhuǎn)
2,利用字符串的拼接(toCharArray()處理成字符數(shù)組的方法),把后遍歷出來的放在前面即可實現(xiàn)反轉(zhuǎn)
public static String reverseCharArrays(String s){char []array = s.toCharArray();//把字符串分割成單個字符的數(shù)組String reverse = "";for(int i = array.length -1 ; i>=0 ; i--){//遍歷數(shù)組,從后向前拼接reverse +=array[i];}return reverse;}3,利用StringBuffer的reverse()方法
public static String reverseStringBuffer(String s){StringBuffer sb = new StringBuffer(s);String afterReverse = sb.reverse().toString();return afterReverse;}4,利用遞歸的方法,類似與二分查找的折半思想(substring截取包左不包右)
public static String reverseRecursive(String s){int length = s.length();if(length<=1){return s; }String left = s.substring(0,length/2);String right = s.substring(length/2 ,length);String afterReverse = reverseRecursive(right)+reverseRecursive(left);//此處是遞歸的方法調(diào)用return afterReverse;}二.數(shù)組和List間的轉(zhuǎn)換
Java的Util包里面有提供相關(guān)方法:
//轉(zhuǎn)list,注意此方法轉(zhuǎn)出的list,不可再進行add或者是remove Arrays.asList(T... t); //注意此處的list即需轉(zhuǎn)換的集合對象 list.toArray();總結(jié)
以上是生活随笔為你收集整理的Java字符串反转以及数组集合转换的方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: HTML 实现一个简单而精美的登录界面
- 下一篇: 使用Prometheus+Alertma