JAVA-初步認識-常用對象API(集合架構-Map集合-hashmap儲存自訂對象)

來源:互聯網
上載者:User

標籤:style   ash   字串   距離   初步   結果   方式   png   上海   

一.

把前面講到的三個集合使用一下。

交代一下需求,學生是鍵,歸屬地是值。到底歸屬地是不是String,有待商榷。如果歸屬地比較簡單,用天津,上海....這些就是字串。如果歸屬地比較複雜,北京的海澱的...,建議把歸屬地封裝成對象。為什嗎?歸屬地封裝成對象以後,它裡麵包含著省欄位,市欄位,區欄位.....這些欄位你想單獨地去擷取,歸屬地對象自己最清楚,所以這個時候要進行封裝。記住,一旦事物變複雜了,封裝對象。將複雜事物簡單化。如果就是簡答的,那就直接字串上,不用封裝對象。

 在第一個例子中,示範的是hashmap集合。前面已經講述了map集合,這裡討論的是map子類的集合?無論什麼類型的集合,都是一個容器,對不同類型的儲存元素進行各種操作。不同集合間對元素進行的操作種類大多都差不多,增,刪,查...

在本例中進行取元素,可以有兩種方法,要麼keyset,要麼。。。。先示範keyset。

set集合裡面裝的是鍵類型,

其實這裡書寫的方式挺奇怪的,距離來看,lisi,38和北京三個屬性間在添加入集合時,書寫方式比較奇怪,沒看懂。

雜湊是無序的,輸出結果無序。

現在修改程式,對於zhaoliu這個對象,修改一下歸屬地,多添加一次。

輸出結果如上,怎麼解決。如果你認為鍵相同,是不是會出現值覆蓋情況,它能全列是因為鍵不相同。如果想保證鍵相同,必須要提供鍵判斷相同的依據。

雜湊表結構要保證兩個方法,一說hashset都明白,一說hashmap就糊塗了。既然這個鍵是存到了hashmap中(雜湊表),它要具備hashcode和equals方法,具備它自己內容,所以在person類裡面,要做一個複寫動作。(集合這一塊,代碼貌似都是分開寫的) 有人說存的是student,但是student繼承了person,student裡面沒有任何屬性,直接在person裡面寫就好了。現在在person類中,添加了hashcode和equals方法,再看輸出結果。

上海的歸屬地對象,被鐵嶺覆蓋了。

現在提個小事情,如果不寫中注釋的兩句,而是中最後一句。它們是一個意思。

 

JAVA-初步認識-常用對象API(集合架構-Map集合-hashmap儲存自訂對象)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.