hashmap linkedhashmap區(qū)別 HashMap是無序的為什么用Iterator迭代出來時(shí)每次的順序都一樣?
HashMap是無序的為什么用Iterator迭代出來時(shí)每次的順序都一樣?這里的混亂不是一個(gè)隨機(jī)的概念。無序是指元素沒有按照一定的規(guī)則排列。但你必須有一個(gè)序列。例如,如果你每天去吃飯,你必須排隊(duì)。假設(shè)
HashMap是無序的為什么用Iterator迭代出來時(shí)每次的順序都一樣?
這里的混亂不是一個(gè)隨機(jī)的概念。無序是指元素沒有按照一定的規(guī)則排列。但你必須有一個(gè)序列。例如,如果你每天去吃飯,你必須排隊(duì)。假設(shè)只有10個(gè)人。這10個(gè)人出了毛病,他們每天到達(dá)的順序也不固定。但是一旦它們被排列好,您就可以迭代一次來讀取排列好的對(duì)。每次都是一樣的。只要這10個(gè)人保持不變,順序是一樣的。一旦有人離開,然后又有人來,順序不一定是什么。
java中需要排序的數(shù)據(jù),為什么都是用hashmap,而不是直接用sortmap?
不同的應(yīng)用場(chǎng)景
[treemap繼承自SortedMap]它用于保持密鑰的順序,還包含許多排序方法。
HashMap是無序的,按集合的排序方法排序。
set為什么是無序的而list是有序?
1. 列表和集合是從集合接口繼承的。2列表特性:元素按順序排列,并且元素是可重復(fù)的。設(shè)置特征:元素不按順序排列,元素不可重復(fù)。(注意:雖然元素沒有按順序排列,但是元素在集合中的位置是由元素的hashcode決定的,它的位置實(shí)際上是固定的。)。list接口有三個(gè)實(shí)現(xiàn)類:LinkedList、ArrayList、vector,set接口有兩個(gè)實(shí)現(xiàn)類:HashSet(底層由HashMap實(shí)現(xiàn))、linkedhashset