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

top.zeimao77.product.model.DoubleKeyHashMap Maven / Gradle / Ivy

package top.zeimao77.product.model;

import java.util.HashMap;

public class DoubleKeyHashMap extends HashMap,V> {

    private static final long serialVersionUID = 372498820763181265L;

    public DoubleKeyHashMap(){
        super();
    }

    /**
     * @see HashMap#HashMap(int)
     * @param initialCapacity 初始容量
     */
    public DoubleKeyHashMap(int initialCapacity) {
        super(initialCapacity);
    }

    /**
     * @param lkey 左键
     * @param rkey 右键
     * @param value 值
     * @return 插入之前键对应的值
     */
    public V put(L lkey,R rkey, V value) {
        ImmutablePair key = new ImmutablePair<>(lkey,rkey);
        return put(key,value);
    }

    /**
     * @param lkey 左键
     * @param rkey 右键
     * @return 值
     */
    public V get(L lkey,R rkey) {
        ImmutablePair key = new ImmutablePair<>(lkey,rkey);
        return get(key);
    }

    public boolean containsKey(L lkey,R rkey) {
        return containsKey(new ImmutablePair<>(lkey,rkey));
    }

    /**
     * 移除
     * @param lkey key左值
     * @param rkey key右值
     * @param value 如果为null将通过键移除 非null通过键值对移除
     * @return 移除的值
     */
    public V remove(L lkey,R rkey,V value) {
        if(value == null) {
            return remove(new ImmutablePair<>(lkey,rkey));
        } else {
            return remove(new ImmutablePair<>(lkey,rkey),value)?value:null;
        }

    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy