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

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

通過獲取 List<List<String>>() 的成員而不鏈接它們來創建新的

通過獲取 List<List<String>>() 的成員而不鏈接它們來創建新的

德瑪西亞99 2023-05-10 16:27:50
我正在嘗試初始化 aList<String>listBuffer等于 a 的成員List<List<String>>listOfLists,而不鏈接它們。每次我添加到“listBuffer”時,它都會自動添加到“listOfLists”的那個成員。如何創建未鏈接到“listOfLists”的“listBuffer”?//初始問題    List<List<String>>listOfLists = new ArrayList<List<String>>();    listOfLists.add(new ArrayList<String>());    List<String>listBuffer = listOfLists.get(0);    List<String>listBuffer2 = listBuffer;//2ndBufferAttempt    listBuffer.add("anyString");    listBuffer2.add("anyString2");    System.out.println(listOfLists.get(0));    //Output is [anyString,anyString2]    //Simple Solution(Not sure whether its the best way)    List<List<String>>listOfLists = new ArrayList<List<String>>();    listOfLists.add(new ArrayList<String>());    List<String>listBuffer = new ArrayList<String>();    listBuffer.addAll(listOfLists.get(0));    listBuffer.add("anyString");    System.out.println(listOfLists.get(0));//Output is "[]"我希望輸出為“[]”。輸出改為“[anyString,anyString2]”。
查看完整描述

2 回答

?
侃侃無極

TA貢獻2051條經驗 獲得超10個贊

編輯:更正了 java.util.Collections.copy() 的參數列表


不會=創建任何類型的新實例,而只是復制一個指針。在您的代碼中,listOfLists.get(0)、listBuffer和listBuffer2指向同一內存區域,因此將它們鏈接在一起也就不足為奇了。如果您不想將它們鏈接起來,請不要鏈接它們。我就是這么簡單


List<String>listBuffer;

List<String>listBuffer2;

Collections.copy(listBuffer, listOfLists.get(0));

Collections.copy(listBuffer2, listBuffer);//2ndBufferAttempt

創建新的、獨立的、未鏈接的列表;那應該做的工作。


查看完整回答
反對 回復 2023-05-10
?
手掌心

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

您從哪里獲得基地以某種方式鏈接到 listOfLists。也許您可以出示您的base聲明以便更清楚。

編輯:如果您希望您的其他列表是分開的,而不是從其他地方獲取它,請執行以下操作:

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


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

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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