集合是一種隱藏了實現細節的抽象html
數據結構通常是說計算機存儲和組織數據的方式,還有就是相互之間存在一種或多種特定關係的數據元素的集
合,簡單來講就是數據的邏輯或物理存儲方式。而數據類型就是對數據的抽象描述,包括整型、浮點型git
抽象數據類型(ADT):是一種在程序設計語言中還沒有定義其值和操做的數據結構類型。ADT的抽象性體如今,ADT必
須對實現細節進行定義,且這些對用戶是不可見的。程序員
Java集合API是一個類集,表示了一些特定類型的集合,這些類的實現方式各不相同。算法
異常就是一個對象,它定義了一種非正常或錯誤的狀況。異常由程序或運行時環境拋出,能夠按預期的被捕獲或被正
確處理。錯誤與異常相似,只不過錯誤每每表示一種沒法恢復的狀況,且沒必要去捕獲它。錯誤和異常表示不正常或不合法的處理。編程
一般須要一個單獨的引用變量(next)來表示鏈表的首節點,終止於next引用爲空的結點。數組
刪除結點:安全
棧的鏈表實現是從鏈表的一端添加和刪除元素數據結構
問題1解決方案:框架
泛型是程序設計語言的一種特性。容許程序員在強類型程序設計語言中編寫代碼時定義一些可變部分
,那些部分在使用前必須做出指明。各類程序設計語言和其編譯器、運行環境對泛型的支持均不同。將類型參數化以達
到代碼複用提升軟件開發工做效率的一種數據類型。泛型類是引用類型,是堆對象,主要是引入了類型參數這個概念。學習
能夠在集合框架(Collection framework)中看到泛型的動機。
泛型只在編譯階段有效。
- 泛型的好處:ava語言引入泛型的好處是安全簡單。泛型的好處是在編譯的時候檢查類型安全,而且全部的強制轉換都是自動和隱式的,提升代碼的重用率。
問題2解決方案:看了半天的資料,才發現其實這個問題能夠說成是數組和鏈表的區別。
數組,在內存上給出了連續的空間.鏈表,內存地址上能夠是不連續的,每一個鏈表的節點包括原來的內存和下一個節點的信息
數組:
優勢:使用方便 ,查詢效率 比鏈表高,內存爲一連續的區域
缺點:大小固定,不適合動態存儲,不方便動態添加
鏈表:
優勢:可動態添加刪除 大小可變
缺點:只能經過順次指針訪問,查詢效率低
順序表的優勢:查找方便,適合隨機查找
順序表的缺點:插入、刪除操做不方便,由於插入、刪除操做會致使大量元素的移動
連接表的優勢:插入、刪除操做方便,不會致使元素的移動,由於元素增減,只須要調整指針。
順序表的缺點:查找方便,不適合隨機查找
(statistics.sh腳本的運行結果截圖)
一個高效的系統能夠優雅地處理問題
太粗心了。
可使用堆棧來保存一組數據的順序
解析:一組地址採用連續的存儲單元來依次存儲線性表的各個數據元素稱之爲線性表的順序存儲結構,順序存儲結構就是把
一堆數據按照給定的地址連續存放。而鏈表是內存中隨機存貯,只有數組這種靜態的內存分配方式纔是連續存貯的。
pp3.9是使用Android Studio沒上傳碼雲,現附上截圖
這個星期又開始了敲代碼之旅,數組,集合,棧這些內容其實上個學期都有學習到一些,可是通過這一個禮拜
的學習發現,這個學期的課程更加深刻了(其實這是必然的),可是我也認識到上個學期的內容不少我都遺忘了,
因此有時間仍是要去複習一下之前的課本了( • ̀ω•́ )✧
代碼行數(新增/累積) | 博客量(新增/累積) | 學習時間(新增/累積) | ||
---|---|---|---|---|
目標 | 5000行 | 30篇 | 400小時 | |
第一週 | 0/0 | 1/1 | 10/10 | |
第二週 | 326/326 | 1/2 | 18/28 | 學習在一點點的深刻 |