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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

在 For-Loop 中重新啟動(dòng) ArrayList

在 For-Loop 中重新啟動(dòng) ArrayList

拉丁的傳說 2021-12-10 16:57:50
我會(huì)保持簡(jiǎn)單:我有一個(gè)名稱的 ArrayList,我必須刪除包含特定字母的某些單詞,但是我無法重新啟動(dòng) for 循環(huán)。這是我得到的:public static void someRandomFunction(){    List<String> arrList = new ArrayList<>(Arrays.asList("Hello",                                                     "Everyone",                                                     "I'm",                                                     "Struggling",                                                     "In",                                                     "Computer",                                                     "Science"));    System.out.println("Start of List: " + wordList + "\n");     System.out.println("\nDrop: \"a\"");     someRandomFunction(wordList, "a");    System.out.println("wordList is now: " + wordList);}public static List<String> removeIfContains(List<String> strList, String removeIf){    List<String> tempList = new ArrayList<>(strList); // creating a copy    for(int i = 0; i < tempList.size(); i++){        if(tempList.get(i).contains(removeIf))            tempList.remove(i);    }//Return will not work because of incompatible types.}編譯后的代碼應(yīng)該是什么的一個(gè)例子:ArrayList [你好,大家,我,我,掙扎,在,計(jì)算機(jī),科學(xué)]刪除以“A”開頭的單詞:新的 ArrayList [你好,大家,我,正在奮斗,在,計(jì)算機(jī),科學(xué)]刪除以“I”開頭的單詞:新的 ArrayList [你好,大家,上午,奮斗,計(jì)算機(jī),科學(xué)]我的代碼的問題在于,當(dāng)它開始讀取需要?jiǎng)h除的新單詞時(shí),它不會(huì)將單詞列表返回到之前的狀態(tài)。
查看完整描述

2 回答

?
一只斗牛犬

TA貢獻(xiàn)1784條經(jīng)驗(yàn) 獲得超2個(gè)贊

如果您只想刪除ArrayList以某個(gè)字母開頭的每個(gè)元素,您可以使用以下removeIf()方法:

刪除此集合中滿足給定謂詞的所有元素。

wrodList.removeIf(e -> e.contains(thisLetter));

(需要 Java 8+)

聽起來您希望在每次刪除元素后重置列表。為此,您可以創(chuàng)建一個(gè)副本ArrayList進(jìn)行檢查,然后在每次之后將其設(shè)置回原始副本:

List<String> copy = new ArrayList<>(wordList); //Creates a copy of wordList


查看完整回答
反對(duì) 回復(fù) 2021-12-10
?
慕的地10843

TA貢獻(xiàn)1785條經(jīng)驗(yàn) 獲得超8個(gè)贊

我相信這就是你正在尋找的。我不確定你是想要一個(gè)實(shí)例還是靜態(tài)方法。我相信您的問題是您沒有創(chuàng)建副本。我記下了我在哪里創(chuàng)建副本。祝你在 CS 中好運(yùn)......我們都曾一度陷入困境。


public static void someRandomFunction(){

    List<String> arrList = new ArrayList<>(Arrays.asList("Hello",

                                                         "Everyone",

                                                         "I'm",

                                                         "Struggling",

                                                         "In",

                                                         "Computer",

                                                         "Science"));


    System.out.println(removeIfContains(arrList, "H")); // calling the function and passing the list and what

    System.out.println(removeIfContains(arrList, "I")); // I want to remove from the list

}


public static List<String> removeIfContains(List<String> strList, String removeIf){

    List<String> tempList = new ArrayList<>(strList); // creating a copy


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

        if(tempList.get(i).contains(removeIf))

            tempList.remove(i);

    }


    return tempList; // returning the copy

}


查看完整回答
反對(duì) 回復(fù) 2021-12-10
  • 2 回答
  • 0 關(guān)注
  • 202 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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