All Downloads are FREE. Search and download functionalities are using the official Maven repository.

top.jfunc.common.utils.AbstractMultiValueMap Maven / Gradle / Ivy

The newest version!
package top.jfunc.common.utils;

import java.util.*;

/**
 * 一些基本操作
 * @since 1.8.2.3
 * @author xiongshiyan at 2019/6/11 , contact me with email [email protected] or phone 15208384257
 */
public abstract class AbstractMultiValueMap implements MultiValueMap{
    @Override
    public V getFirst(K key) {
        List values = getMap().get(key);
        return (values != null ? values.get(0) : null);
    }
    @Override
    public V getLast(K key) {
        List values = getMap().get(key);
        return (values != null ? values.get(values.size()-1) : null);
    }
    /**
     * 覆盖性的
     * @param key the key
     * @param value the value to set
     */
    @Override
    public void set(K key, V value) {
        List values = new ArrayList<>(1);
        values.add(value);
        getMap().put(key, values);
    }

    @Override
    public void setAll(Map values) {
        for (Entry entry : values.entrySet()) {
            set(entry.getKey(), entry.getValue());
        }
    }

    // Map implementation

    @Override
    public int size() {
        return getMap().size();
    }

    @Override
    public boolean isEmpty() {
        return getMap().isEmpty();
    }

    @Override
    public boolean containsKey(Object key) {
        return getMap().containsKey(key);
    }

    @Override
    public boolean containsValue(Object value) {
        return getMap().containsValue(value);
    }

    @Override
    public List get(Object key) {
        return getMap().get(key);
    }

    @Override
    public List put(K key, List value) {
        return getMap().put(key, value);
    }

    @Override
    public List remove(Object key) {
        return getMap().remove(key);
    }

    @Override
    public void putAll(Map> map) {
        getMap().putAll(map);
    }

    @Override
    public void clear() {
        getMap().clear();
    }

    @Override
    public Set keySet() {
        return getMap().keySet();
    }

    @Override
    public Collection> values() {
        return getMap().values();
    }

    @Override
    public Set>> entrySet() {
        return getMap().entrySet();
    }


    @Override
    public boolean equals(Object obj) {
        return getMap().equals(obj);
    }

    @Override
    public int hashCode() {
        return getMap().hashCode();
    }

    @Override
    public String toString() {
        return getMap().toString();
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy