java - 我正在尝试从 JAVA 中的 MultiMap(org.apache.commons.collections.MultiMap) 中删除单个值

标签 java collections graph hashmap

我正在尝试从 Java 中的 MultiMap (org.apache.commons.collections.MultiMap) 中删除单个值。问题是它包含两个值。当我删除一个时,另一个也会被删除。

class MappedValue
{
  public MappedValue(String id , boolean touched) {
    identifier = id;
    this.touched=touched;
  }

  private String  identifier;  
  private boolean touched; 
}   

MultiMap SuccessorsArray = new MultiValueMap();   

MappedValue mv = new MappedValue("1", false);
MappedValue mv2 = new MappedValue("2", true);

SuccessorsArray.put("key1", mv );         
SuccessorsArray.put("key1", mv2 );      
//Below is the problem as both values in the get removed instead of 1(mv).
SuccessorsArray.remove("key1", mv);

最佳答案

我刚刚测试了 3.2.1 版本

public static void main(String[] args) {
    class MappedValue {
        public MappedValue(String id, boolean touched) {
            identifier = id;
            this.touched = touched;
        }
        private String identifier;
        private boolean touched;
        @Override
        public String toString() {
            return "MappedValue [identifier=" + identifier + ", touched=" + touched + "]";
        }
    }

    MultiMap multiMap = new MultiValueMap();
    MappedValue mv = new MappedValue("1", false);
    MappedValue mv2 = new MappedValue("2", true);
    multiMap.put("key1", mv);
    multiMap.put("key1", mv2);
    //Below is the problem as both values in the get removed instead of 1(mv).
    multiMap.remove("key1", mv);
    System.out.println(multiMap.get("key1"));
}

返回[MappedValue [identifier=2,touched=true]]

所以该值确实没有被删除。

关于java - 我正在尝试从 JAVA 中的 MultiMap(org.apache.commons.collections.MultiMap) 中删除单个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30485387/

相关文章:

java - ExitButtonHandler不是抽象的,不会重写ActionListener中的抽象方法actionPerformed(ActionEvent)

javascript - 如何限制从 Parse.com 集合 (Javascript) 获取的对象数量?

java - 在 java 中初始化类时,创建 Collection 到 ImmutableSortedSet 的深拷贝

algorithm - 如何在加权无向图中找到包含两个给定节点的最小加权循环?

python - NetworkX图: creating nodes with ordered list

algorithm - 计算给定路径成本下的最大利润

java - libgdx 可用于 2d 游戏吗?

java - 如何将字符串附加到 HashMap 元素?

java - java中的正则表达式

javascript - 从与模型 ID 列表匹配的主干集合中提取多个模型