MultiValueMap記錄

MultiValueMap 屬於springframework中的map,繼承Map
package org.springframework.util;

import java.util.List;
import java.util.Map;

public interface MultiValueMap<K, V> extends Map<K, List<V>> {
    V getFirst(K var1);

    void add(K var1, V var2);

    void set(K var1, V var2);

    void setAll(Map<K, V> var1);

    Map<K, V> toSingleValueMap();
}

它有什麼作用呢

jdk裏的hashmap中存儲key ,value都是一個key 對應一個value,如果重複put相同key的value,就會覆蓋以前的value.

而MultiValueMap則針對相同的key 會存儲成一個鏈表形式。

它的實現

MultiValueMap<String, String> mvm = new LinkedMultiValueMap<>();
  Map<String, String> params = new HashMap<>();
        params.put("a", "a1");
        params.put("a", "a2");
        params.put("b", "b");
        MultiValueMap<String, String> mvm = new LinkedMultiValueMap<>();
        params.forEach(mvm::add);
// 遍歷
 Set<String> set = params.keySet();
 for (String key : keySet) {
            List<String> values = stringMultiValueMap.get(key);
            System.out.println(StringUtils.join(values.toArray()," ")+":"+key);
 
        }

結果爲:  a1,a2 :a

                 b:b

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章