20175205 2018-2019-3 《Java程序設計》第八週學習總結
教材學習內容總結

教材學習中的問題和解決過程
Q:教材例子2中System.currentTimeMillers()
A:
java
Q:教材例子2中iter.hasNext()
和iter.next()
A:
git
Q:教材例子3中將LinkedList改成ArrayList
A:動手實踐了一下,發現兩種輸出結果是同樣的。編程
數組和鏈表的區別:
- 不一樣:鏈表是鏈式的存儲結構;數組是順序的存儲結構。
- 鏈表經過指針來鏈接元素與元素,數組則是把全部元素按次序依次存儲。
- 鏈表的插入刪除元素相對數組較爲簡單,不須要移動元素,且較爲容易實現長度擴充,可是尋找某個元素較爲困難;
- 數組尋找某個元素較爲簡單,但插入與刪除比較複雜,因爲最大長度須要再編程一開始時指定,故當達到最大長度時,擴充長度不如鏈表方便。
- 相同:兩種結構都可實現數據的順序存儲,構造出來的模型呈線性結構。

Q:教材例子7中涉及到了不少沒學過的窗口知識
A:JTextField —— 創建單行文本框
JTextField的方法:public void setText(String t)
數組
HashMap的方法:public V put(K key, V value)
數據結構
ActionEvent的方法:public String getActionCommand()
學習
Q:爲何使用迭代器便利鏈表
A:迭代器遍歷在找到集合中的一個對象的同時,也獲得待遍歷的後繼對象的引用,所以迭代器能夠快速地遍歷集合。.net
代碼調試中的問題和解決過程
Q:教材例子9,compareTo方法返回時爲何要*1000

A:尚未解決。。。設計

總結
數組3d
- 數組是最最基本的數據結構,不少語言都內置支持數組。數組是使用一塊連續的內存空間保存數據,保存的數據的個數在分配內存的時候就是肯定的:

- 所以在查找某個元素的時候,只能遍歷數組;在插入或刪除元素的時候,若是不是在尾部進行操做,那麼就要將該位置以後的元素所有移動,工做量很大。
鏈表指針
- 鏈表是在非連續的內存單元中保存數據,而且經過指針將各個內存單元連接在一塊兒,最有一個節點的指針指向 NULL 。鏈表不須要提早分配固定大小存儲空間,當須要存儲數據的時候分配一塊內存並將這塊內存插入鏈表中。
- 插入刪除數據比較方便,只須要調整指針便可


堆棧
- 對於堆棧中的數據的全部操做都是在棧的頂部完成的,只能夠查看棧頂部的數據,只可以向棧的頂部壓入數據,也只能從棧的頂部彈出數據。

參考博客
數組、鏈表、堆棧、隊列和樹