Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Scala 正在从类型为(Int,ListBuffer(Int))的映射中删除元素_Scala_Linkedhashmap_Listbuffer - Fatal编程技术网

Scala 正在从类型为(Int,ListBuffer(Int))的映射中删除元素

Scala 正在从类型为(Int,ListBuffer(Int))的映射中删除元素,scala,linkedhashmap,listbuffer,Scala,Linkedhashmap,Listbuffer,我有以下类型的LinkedHashMaps: val map1=LinkedHashMap1->1,2->1,2,3->1,2,3 val map2=LinkedHashMap2->2,3->2,3,5->2,3,5 其中整数是图的节点ID,列表是该节点的路径。我想实现删除节点的情况。假设我想删除节点3,我必须执行两个操作:删除每个映射中key=3的元素,删除列表中key=3的元素。如何在scala中执行此操作 如果你像以前一样定义你的地图 val map1 = LinkedHashMap(1

我有以下类型的LinkedHashMaps:

val map1=LinkedHashMap1->1,2->1,2,3->1,2,3 val map2=LinkedHashMap2->2,3->2,3,5->2,3,5


其中整数是图的节点ID,列表是该节点的路径。我想实现删除节点的情况。假设我想删除节点3,我必须执行两个操作:删除每个映射中key=3的元素,删除列表中key=3的元素。如何在scala中执行此操作

如果你像以前一样定义你的地图

val map1 = LinkedHashMap(1 -> 1, 2 -> (1,2), 3 -> (1,2,3))
您没有key:Int和value:List[Int],但有key:Int和value:Any

为了满足您的需求,您应该像下面这样定义地图

scala> val map1 = LinkedHashMap(1 -> List(1), 2 -> List(1,2), 3 -> List(1,2,3))
// map1: scala.collection.mutable.LinkedHashMap[Int,List[Int]] = Map(1 -> List(1), 2 -> List(1, 2), 3 -> List(1, 2, 3))
现在,如果要删除节点3


非常感谢。如果我的LinkedHashMap是图形中的顶点属性,该怎么办?要从每个节点的映射中删除节点3,我必须使用类似以下内容:graph.vertexts.filter{| case key,list=>key!=3&&!list.contains3},但这不是正确的语法。显然,顶点的类型是val顶点:RDD[VertexId,LinkedHashMap[Int,ListBuffer[Int]]
scala> val map1 = LinkedHashMap(1 -> List(1), 2 -> List(1,2), 3 -> List(1,2,3))
// map1: scala.collection.mutable.LinkedHashMap[Int,List[Int]] = Map(1 -> List(1), 2 -> List(1, 2), 3 -> List(1, 2, 3))
scala> val map2 = map1.filter({
     |   case (key, list) => key != 3 && !list.contains(3)
     | })
// map2: scala.collection.mutable.LinkedHashMap[Int,List[Int]] = Map(1 -> List(1), 2 -> List(1, 2))