如何將數(shù)組元素逆序

項(xiàng)目中我們會(huì)遇到需要將數(shù)組元素逆序輸出的情形哼蛆,可以有好幾種方法完成這個(gè)需求:
1怒医、方法一:逆序遍歷數(shù)組元素并將元素放入新數(shù)組岭埠,分析時(shí)間復(fù)雜度是O(n),空間復(fù)雜度是o(n)

        for(Integer i = sqList.size() - 1; i >= 0; i --) {
            reversedArray.add(sqList.get(i));
        }

2裹刮、方法二:掃描數(shù)組元素的前半部分元素音榜,將元素sqListi與其余后半部分對(duì)應(yīng)的元素sqList[sqList.length - i - 1]進(jìn)行交換,時(shí)間復(fù)雜度為O(n/2),不需要額外的空間

private static <T> void reverse(List<T> sqList) {
        if (sqList == null || sqList.size() < 1) {
            return;
        }
        T temp = null;
        Integer size = sqList.size();
        for (Integer j = 0; j < size >> 1; j++) {
            temp = sqList.get(j);
            sqList.set(j, sqList.get(size - j - 1));
            sqList.set(sqList.size() - j - 1, temp);
        }
}

3、方法三:Collections.reverse(sqList)捧弃,jdk內(nèi)部源碼實(shí)現(xiàn)如下赠叼,可以看到j(luò)dk源碼的實(shí)現(xiàn)方式和方法二的思想是一致的,都是交換相應(yīng)位置上的元素违霞。所以Java中若數(shù)組元素逆序直接調(diào)用Collections.reverse方法即可嘴办。

  public static void reverse(List<?> list) {
        int size = list.size();
        if (size < REVERSE_THRESHOLD || list instanceof RandomAccess) {
            for (int i=0, mid=size>>1, j=size-1; i<mid; i++, j--)
                swap(list, i, j);
        } else {
            // instead of using a raw type here, it's possible to capture
            // the wildcard but it will require a call to a supplementary
            // private method
            ListIterator fwd = list.listIterator();
            ListIterator rev = list.listIterator(size);
            for (int i=0, mid=list.size()>>1; i<mid; i++) {
                Object tmp = fwd.next();
                fwd.set(rev.previous());
                rev.set(tmp);
            }
        }
 }

4、方法四:將數(shù)組元素使用某一字符买鸽,如-涧郊,Join得到一個(gè)字符串,使用StringBuffer的reverse方法后再講字符串以-分割得到數(shù)組即可癞谒。

public static String[] reverse(String[] array ){
        String str = String.join("-", array);
        StringBuffer buffer = new StringBuffer(str);
        String reverseStr = buffer.reverse().toString();
        String[] resultArray = reverseStr.split("-");
        return resultArray;
    }

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末底燎,一起剝皮案震驚了整個(gè)濱河市刃榨,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌双仍,老刑警劉巖枢希,帶你破解...
    沈念sama閱讀 218,941評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異朱沃,居然都是意外死亡苞轿,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,397評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門逗物,熙熙樓的掌柜王于貴愁眉苦臉地迎上來搬卒,“玉大人,你說我怎么就攤上這事翎卓∑跹” “怎么了?”我有些...
    開封第一講書人閱讀 165,345評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵失暴,是天一觀的道長坯门。 經(jīng)常有香客問我,道長逗扒,這世上最難降的妖魔是什么古戴? 我笑而不...
    開封第一講書人閱讀 58,851評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮矩肩,結(jié)果婚禮上现恼,老公的妹妹穿的比我還像新娘。我一直安慰自己黍檩,他們只是感情好叉袍,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,868評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著建炫,像睡著了一般畦韭。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上肛跌,一...
    開封第一講書人閱讀 51,688評(píng)論 1 305
  • 那天艺配,我揣著相機(jī)與錄音,去河邊找鬼衍慎。 笑死转唉,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的稳捆。 我是一名探鬼主播赠法,決...
    沈念sama閱讀 40,414評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了砖织?” 一聲冷哼從身側(cè)響起款侵,我...
    開封第一講書人閱讀 39,319評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎侧纯,沒想到半個(gè)月后新锈,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,775評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡眶熬,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,945評(píng)論 3 336
  • 正文 我和宋清朗相戀三年妹笆,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片娜氏。...
    茶點(diǎn)故事閱讀 40,096評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡拳缠,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出贸弥,到底是詐尸還是另有隱情窟坐,我是刑警寧澤,帶...
    沈念sama閱讀 35,789評(píng)論 5 346
  • 正文 年R本政府宣布绵疲,位于F島的核電站狸涌,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏最岗。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,437評(píng)論 3 331
  • 文/蒙蒙 一朝捆、第九天 我趴在偏房一處隱蔽的房頂上張望般渡。 院中可真熱鬧,春花似錦芙盘、人聲如沸驯用。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,993評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽蝴乔。三九已至,卻和暖如春驮樊,著一層夾襖步出監(jiān)牢的瞬間薇正,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,107評(píng)論 1 271
  • 我被黑心中介騙來泰國打工囚衔, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留挖腰,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,308評(píng)論 3 372
  • 正文 我出身青樓练湿,卻偏偏與公主長得像猴仑,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子肥哎,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,037評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容