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

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

Java ArrayList 如何在內(nèi)部工作

Java ArrayList 如何在內(nèi)部工作

梵蒂岡之花 2022-05-21 17:21:36
在下面的代碼中,我將列表(在 main 中定義)傳遞給 remove_dup 方法,它更新了實際的數(shù)組列表(列表)。由于 Java 是按值傳遞,那么為什么列表由 remove_dup 方法更新。然后我使用列表創(chuàng)建了另一個 list2,但是如果我在 list2 中添加一個元素,它不會被添加到列表中。為什么要更新主列表而其他方法不更新?        public class ArrayListTest {            public static void remove_dups(ArrayList<String> list, int n) {                Set<String> unqList = new TreeSet<String>(list);                list.clear();                list.addAll(unqList);            }            public static void main(String[] args) {                ArrayList<String> list = new ArrayList<String>();                list.add("one");                list.add("two");                list.add("two");                remove_dups(list);        //As Java is pass by value then why its printing unique values here?  //expected output---- One two two but its printing one two                for (String string : list) {                    System.out.println(string);                }                ArrayList<String> list2 = new ArrayList<String>(list);                list2.add("three");                for (String string : list2) {                    System.out.println("list 2-" + string);                }    //I was expecting "three to be printed with list"                 for (String string : list) {                    System.out.println("list 1-" + string);                }            }        }
查看完整描述

1 回答

?
精慕HU

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

如果您將一個傳遞ArrayList給函數(shù),它會將一個指針傳遞回原始列表。這意味著該方法中的任何更新都將更新您的原始內(nèi)容ArrayList,因為它們是相同的。

ArrayList<String> list2 = new ArrayList<String>(list);

這會制作 list 的副本并將其保存到list2. 列出并且list2是完全獨立ArrayList的。


查看完整回答
反對 回復(fù) 2022-05-21
  • 1 回答
  • 0 關(guān)注
  • 80 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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