獲取Map中元素

2021-09-12 04:33:54 字數 1159 閱讀 4664

1..對物件的集合(collection)和鍵值對集合(map)都支援嗎?

答:不支援的,,因為map集合裡面沒有迭代器,,,凡是支援迭代器的集合他們都支援高階for,,高階for是迭代器的簡寫形式

map集合裡面為什麼沒有迭代器:

介面 collection他裡面有迭代器,,collection介面繼承了介面 iterable,,iterable裡面封裝了iterator() 方法返回乙個迭代器,,比如出現介面 collection2繼承了介面 iterable時這個介面 collection2就具備了迭代方法,,map集合沒有實現介面 iterable,所以map裡面沒有迭代器

**:mapmap = new hashmap();

map.put("aa", 1);

map.put("bb", 2);

set> set = map.entryset();

for(map.entryme : set)

hashmaphm = new hashmap();

hm.put(1,"a");

hm.put(2,"b");

hm.put(3,"c");

set> set=hm.entryset();都要轉成set集合,因為map集合不支援迭代

//這裡不能放map集合,,,,放set集合,,,或者for (map.entryentry : set)

或者這樣遍歷

setset=hm.keyset();

for (integer i : set)

2...增強的for迴圈對集合的增刪改查操作有限制嗎?

答;增強的for迴圈對集合進行遍歷,只能獲取集合元素,但是不能對集合進行操作他只能獲取集合中的元素,。只能對集合中的元素進行取出,,不能做修改動作,所以集合中的資料沒有改變,,而迭代器可以取出修改,迭代器除了遍歷,還可以進行remove集合中元素的動作。迭代器操作完以後集合變了,,,,

如果使用listiterator,還可以在遍歷過程中對集合進行增刪改查的動作。

3... 還有那麼傳統的for迴圈與增強的for迴圈有什麼大的區別嗎?

答:有的

高階for有乙個侷限性,必須有被遍歷的目標,比如我想要把"aa"列印100次,,,高階for就做不了就得用傳統for,,,,

建議在遍歷陣列的時候,還是希望使用傳統for。因為傳統for可以定義腳標。

js中map中元素排序

方法如下 function sort var keys 1 2 3 4 var result map max 999999999 存放每一次拍完序後的,該過程中產生的最大的元素。for var i 0 iif temp map keys k result i temp map max temp co...

獲取集合中元素的方法總結

集合是我們在平時應用中最多的一種資料容器,現對集合中的元素獲取方法做一下總結 使用for迴圈遍歷加上集合的get 方法獲取 複製 1 arraylist list new arraylist 2 list.add 1 3 list.add 2 4 list.add 3 5 for int i 0 i...

C 之獲取map元素

對於map物件,count成員返回值只能是0或者1,map容器只允許乙個鍵對應乙個例項。所以count可有效地表明乙個鍵是否存在。count返回出現的次數。find返回指向元素的迭代器,如果元素不存在,則返回end 迭代器。直接使用下標操作存在乙個危險的 如果該鍵不在map容器中,那麼下標操作會插入...