亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

遍歷對象列表并為每個對象運行一個函數-Java

遍歷對象列表并為每個對象運行一個函數-Java

飲歌長嘯 2021-04-28 21:41:39
我想知道如何為數組(或其他列表類型)中的每個對象運行特定功能的最簡單方法我的目標是能夠創建對象列表,并使每個對象在通過迭代器時運行特定功能。我已經在arraylist上嘗試過for循環for (int i = 0; i < testList.size(); i++)    {        this  = textList.get(i);        this.exampleFunction();    }但這給了我一個“預期變量”錯誤
查看完整描述

2 回答

?
子衿沉夜

TA貢獻1828條經驗 獲得超3個贊

假設您使用的是Java 8+,那么Collection<TypeInList>您可以調用Collection.stream()并對此進行forEach操作。喜歡,


testList.stream().forEach(TypeInList::function);

您當前的方法是嘗試做this無法做到的事情。它可以像這樣固定


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

{

    TypeInList that = testList.get(i); // this is a reserved word.

    that.function();

}

或者


for (TypeInList x : testList) {

    x.function();

}


查看完整回答
反對 回復 2021-05-19
?
尚方寶劍之說

TA貢獻1788條經驗 獲得超4個贊

遍歷列表有多種方法,但是我個人最容易找到的是這樣的:


假設您的列表包含String對象,例如:


List<String> list = new ArrayList();

list.add("Hello");

list.add("World");


for(String current : list){

    System.out.println(current);

}

該循環將迭代兩次,控制臺將輸出以下內容:


Hello

World

這種方法不依賴索引(因為您在問題中的使用方式),因此,我發現它很容易用于遍歷單個列表。


但是,缺點是,如果您要遍歷2個單獨的列表,則缺少索引會使其變得更加復雜。遍歷多個列表的更簡單方法是使用傳統方法,如下所示:


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

    int x = list1.get(i);

    int y = list2.get(i);

}

因此,您的用例確實確定了您可以采用的理想方法。


查看完整回答
反對 回復 2021-05-19
  • 2 回答
  • 0 關注
  • 207 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號