第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

壓縮 ArrayList 方法中的錯誤

壓縮 ArrayList 方法中的錯誤

慕姐4208626 2024-01-05 15:04:38
我正在嘗試用 Java 編寫一個方法來壓縮字符串的 ArrayList。例如,如果我們有一個由 String 組成的 ArrayList ["0", "1", "2", "3"],則會ArrayListMethods.condense(["0", "1", "2", "3"])將 ArrayList 更改為["01", "23"]。import java.util.ArrayList;public class ArrayListMethods{  public static void condense(ArrayList<String> array){        for (int i = 0; i < array.size(); i++){            array.get(i) += array.get(i + 1);            array.remove(i + 1);        }  }}我收到錯誤,但我不知道為什么。沒關(guān)系,問題解決了。我像這樣重寫了代碼:public static void condense(ArrayList<String> array){        for (int i = 0; i < array.size() - 1; i++){            String one = array.get(i);            String two = array.get(i+1);            String both = one+two;            array.set(i, both);            array.remove(i + 1);        }    }
查看完整描述

2 回答

?
幕布斯6054654

TA貢獻1876條經(jīng)驗 獲得超7個贊

如果你確定元素的數(shù)量總是偶數(shù),你可以這樣做:


public static void condense(ArrayList<String> array){

    for (int i = 0; i < array.size(); i++){

        array.set(i, array.get(i)+array.get(i + 1));

        array.remove(i + 1);

    }

}

更好的方法是這樣的:


public static void condense2(List<String> list){

    int groupSize = 2;

    List<String> result = new ArrayList<>();        

    for (int i = 0; i < list.size(); i += groupSize) {

        result.add(String.join("", list.subList(i,Math.min(i + groupSize, list.size()))));            

    }

    System.out.println(result);

}

使用第二種方法,您不僅限于連接兩個字符串,通過更改 groupSize 您可以實現(xiàn)類似的["012", "345", "6"]輸入["0","1","2","3","4","5","6"]


查看完整回答
反對 回復(fù) 2024-01-05
?
滄海一幻覺

TA貢獻1824條經(jīng)驗 獲得超5個贊

array.get(i) 不是變量,它是String在您的情況下返回的方法調(diào)用。您無法為其分配任何內(nèi)容。

你可能想要類似的東西array.set(i, array.get(i + 1))


查看完整回答
反對 回復(fù) 2024-01-05
  • 2 回答
  • 0 關(guān)注
  • 220 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號