關於list遍歷的一點理解

2021-09-25 08:31:23 字數 1083 閱讀 6421

我的**裡大致邏輯是這樣的

public static void main(string args) 

system.out.println(list);

}

輸出結果是這樣的

你會發現二次結果都一樣,資料並沒有被修改。那麼是什麼原因呢?

解析:for迴圈中 userp其實就是for迴圈中的區域性變數,並不是集合list中的元素。僅僅是將元素的引用給了userp。

而userp = new userp(「s4」,4);(等價於userp s5=new userp(「s4」,4);userp=s5;)

這一行是將s5這個新物件的引用給了userp,並未改變list中的任何資料。

注:這裡面的理解難點就是引用的問題,在c語言裡叫指標

fori迴圈可以修改,刪除和增加list的值,

注意:增加和刪除會導致list長度發生變化。

乙個修改的例子如下:

public static void main(string args) 

system.out.println(list);

}

2.foreach 迴圈不能修改,刪除,增加 list的值,可以修改引用物件的值

public static void main(string args) 

system.out.println(list);

}

結果:

3.利用迭代器可以實現刪除,不能刪除和修改。同樣的也可以對引用物件修改

public static void main(string args) 

system.out.println(list);

}

結果:

關於malloc的一點理解

在函式中使用malloc,如果是大的記憶體分配,而且malloc與free的次數也不是特別頻繁,使用malloc與free是比較合適的,但是如果記憶體分配比較小,而且次數特別頻繁,那麼使用malloc與free就有些不太合適了。因為過多的malloc與free容易造成記憶體碎片,致使可使用的堆記憶體...

關於HTTPS的一點理解

通訊使用明文 不加密 內容可能會被竊聽。不驗證通訊方的身份,因此有可能遭遇偽裝。無法證明報文的完整性,所以有可能已經遭到篡改。https http 認證 加密 完整性保護 https是與ssl 安全套接層 組合使用的http協議 http secure 使用ssl之後,請求則變成先和ssl通訊,ss...

關於Action的一點理解

之前學習jsp,就是從網上找些jsp例項 然後模仿,再加工成自己想要的,這樣一來,好多東西都是學了一點皮毛,例如action。下面是在看書時所知道的,看完後,有種頓悟的感覺。action的主要功能是生成頁面顯示所需要的資料,頁面則負責顯示action中的所設定的資料。頁面中的標籤在獲得action所...