在一次面試的過程中,有乙個問題「hashmap存放資料是無序的,如何編寫程式,使資料先進先出。」當時我沒做出來,但是我回來折騰了半天,就寫了下面的成序。
首先思考hashmap通過hashcode對其內容進行快速查詢,而treemap中所有的元素都保持著某種固定的順序,然後在google下,通過改變key的hashcode的值來實現。程式如下:
/** to change this template, choose tools | templates
* and open the template in the editor.
*//**
** @author admini
*/public class treetest extends hashmap }}
/***建立key類,作為map的key
*/class key
public int hashcode()
public boolean equals(object o)
public string tostring()
}通過建立new key(integer t)作為map中的key,key的hashcode是key類的的構造方法number指定。但是這種方式還是有它的限制,是不是有更好的方法實現呢?還有treemap是可以達到先進先出的,它又是如何實現呢?請各位朋友給小弟具體的分析下。
treemap 和 hashmap的效率比較
區別 1,hashmap是無序的,treemap是有序的,整個key是按照自然順序來的。2,hashmap可以put乙個null當key treemap卻不支援。3,底層結構不一樣,乙個是陣列 紅黑樹,乙個直接就是紅黑樹。但是hashmap是最最最常用的map集合,不考慮順序的時候,他是首選,假如你...
HashMap 和 TreeMap 的內部結構
1 基於雜湊表的 map 介面的實現。此實現提供所有可選的對映操作,並允許使用 null 值和 null 鍵。除了非同步和允許使用 null 之外,hashmap 類與 hashtable 大致相同。此類不保證對映的順序,特別是它不保證該順序恆久不變。2 hashmap 的例項有兩個引數影響其效能 ...
HashMap和TreeMap的內部結構
1 基於雜湊表的 map 介面的實現。此實現提供所有可選的對映操作,並允許使用 null 值和 null 鍵。除了非同步和允許使用 null 之外,hashmap 類與 hashtable 大致相同。此類不保證對映的順序,特別是它不保證該順序恆久不變。2 hashmap 的例項有兩個引數影響其效能 ...