簡體   English   中英

Arraylist.clear()刪除hashTable的內容

[英]Arraylist.clear() deletes content of hashTable

我有以下代碼:

podmienky.put(key, podmienkyOblast);
podmienkyOblast.clear();

podmienkyHashTable<String, ArrayList<String>>並且podmienkyOblastArrayList<String> 如果我把podmienky.get("index").size()之前podmienkyOblast.clear()返回6,因為它應該。 但是,如果我將podmienky.get("index").size()放在podmienky.get("index").size()之后,它將返回0。我認為,如果我將某些內容放podmienkyOblast.clear()表,則實際上會為其添加內容。 但正如我所看到的,它僅存儲對arrayList的引用。 我錯了嗎? 我應該如何做這項工作?

謝謝前進

您將對ArrayList的引用放入Hashtable 如果要將值從ArrayList添加到表中,則必須遍歷列表中的元素。

for(Object element : podmienkyOblast) {
    // TODO generate a key for your value here
    String key = "...";
    podmienky.put(key, element);
}

Java處理對象引用,如果您需要復制對象,則需要考慮克隆 (也稱為深度復制)。

另外,Favor會在實現上進行接口 ,因此請使用List而不是ArrayList

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM