问题标签 [listbuffer]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
460 浏览

scala - 遍历混合类型的 scala 列表

使用 Spark 2.1.1,我有一个 N 行 csv 作为 'fileInput'

我已经成功地制作了一个 sql.rows 数组...

针对这些行并使用我的随机值生成器脚本,我成功填充了一个空的 ListBuffer[Any] ...

现在,我有一个具有不同类型列表的混合类型 ListBuffer[Any]。. 如何迭代和压缩这些? [任何] 似乎无视映射/压缩。我需要获取由 inputFile 的定义生成的 N 个列表,然后将它们保存到 csv 文件中。最终输出应该是:

然后 inputFile 可用于创建任意数量的“colnames”,任何“数据类型”(我有脚本),每种类型出现 1::n 次,任意数量的行(定义为“elems”)。我的随机生成脚本自定义每个“开始”和“结束”的值,但这些列与这个问题无关)。

0 投票
1 回答
175 浏览

scala - Scala:我可以使用 -= head 从列表中删除一个项目吗?

似乎 usingi -= i.head不会执行与i.remove(0) ListBuffer 相同的功能。那正确吗。如果是,为什么?

0 投票
2 回答
55 浏览

scala - 访问依赖于要填充的列表缓冲区的常量 Scala

遇到一个问题,我在 scala 步骤定义文件的开头指定私有常量,该文件依赖于要填充的 List Buffer 元素,但是在编译时我得到一个“IndexOutOfBoundsException”,因为该列表最初是空的,以后才会填充一个 for 循环。例如,我有以下 2 个常量:

使用 for 循环将 globalExampleList 进一步填充到文件中:

此 List Buffer 将所需的值添加到全局可变 ListBuffer 中。

有没有更好的方法来声明这些常量?我试图在 for 循环之后声明它们,但是其他方法无法访问它们。我在同一个文件中有大约 4 种不同的方法,它们使用这些值,而不是每次通过索引访问它,我认为最好将它们声明为常量,以便在需要更改时保持整洁和高效。

谢谢

0 投票
1 回答
135 浏览

scala - 如何更新Scala中LinkedHashMap中键集的每个值,具有LinkedHashMap [Int,ListBuffer [Int]]?

我有一个 LinkedHashMap 类型:

我想在每个键的每个列表中添加一个元素,假设我想添加“6”以便拥有:

我该怎么做呢?

0 投票
1 回答
73 浏览

scala - 从类型 (Int, ListBuffer(Int)) 的映射中删除元素

我有LinkedHashMaps 类型:

val map1 = LinkedHashMap(1 -> 1, 2 -> (1,2), 3 -> (1,2,3)) val map2 = LinkedHashMap(2 -> 2, 3 -> (2,3), 5 -> (2,3,5))

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

0 投票
1 回答
95 浏览

scala - 从 ListBuffer 的 LinkedHashMap 和 ListBuffer 中移除元素,用作图结构中的顶点属性

我使用 GraphX API 在 Scala 中构建了一个图形。在我的图中,每个顶点都有一个LinkedHashMap[Int, ListBuffer[ListBuffer[Int]]]as 属性:每对 (key, value) 的LinkedHashMap代表:

  • 键:节点的 id - asInt
  • 值:到达节点的所有可能路径 - 每条路径都是 a ListBuffer[Int],所以我有 a ListBufferofListBuffer[Int]

(我曾经Pregel创建过LinkedHashMaps)。所以,我想实现从图中删除节点的情况。我要做的是:

  1. 在 eachLinkedHashMap中删除带有键 == id_of_the_node 的元素
  2. 在 eachListBuffer[ListBuffer[Int]]中删除包含已删除节点的列表(路径)(路径将不再存在)。

假设我有以下节点(我将省略其他节点):

节点 1:(1,Map(5 -> ListBuffer(ListBuffer(1, 3, 5), ListBuffer(1, 4, 5)), 6 -> ListBuffer(ListBuffer(1, 3, 6)), 3 -> ListBuffer(ListBuffer(1, 3)), 4 -> ListBuffer(ListBuffer(1, 4)), 1 -> ListBuffer(ListBuffer(1))))

节点 2:(2,Map(5 -> ListBuffer(ListBuffer(2, 1, 3, 5), ListBuffer(2, 1, 4, 5)), 6 -> ListBuffer(ListBuffer(2, 1, 3, 6)), 3 -> ListBuffer(ListBuffer(2, 1, 3)), 4 -> ListBuffer(ListBuffer(2, 1, 4)), 1 -> ListBuffer(ListBuffer(2, 1)), 2 -> ListBuffer(ListBuffer(2))))

节点 3:(3,Map(5 -> ListBuffer(ListBuffer(3, 5)), 6 -> ListBuffer(ListBuffer(3, 6)), 3 -> ListBuffer(ListBuffer(3))))

假设我想从中删除3节点myGraph。那么,节点的属性应该变成:

节点 1:(1, Map(5 -> ListBuffer(ListBuffer(1, 4, 5)), 4 -> ListBuffer(ListBuffer(1, 4)), 1 -> ListBuffer(ListBuffer(1))))

节点 2:(2, Map(5 -> ListBuffer(ListBuffer(2, 1, 4, 5)), 4 -> ListBuffer(ListBuffer(2, 1, 4)), 1 -> ListBuffer(ListBuffer(2, 1)), 2 -> ListBuffer(ListBuffer(2))))

节点 3:(-1, LinkedHashMap[ListBuffer[ListBuffer[]]]())- 我不知道如何分配一个空的LinkedHashMap[ListBuffer[ListBuffer[Int]]].

我定义了以下方法:

但这只是为了1上面提到的一点(使用键 == id_of_the_node 删除元素)。另外,如果我在myGraph如下的顶点上调用它,它不会给我想要的结果。

如何正确编写方法(同时实现点12)?以及如何使用它myGraph.vertices?在伪代码中:

此外,LinkedHashMap该方法是否具有最佳时间复杂度的数据结构remove

0 投票
4 回答
697 浏览

scala - 在 Scala 中的 Some[Long] 的 ListBuffer 中获取最大值

这段代码工作正常并按预期返回 343423:

但它不适用于 Some[Long]:

错误:没有为 Some[Long] 定义隐式排序。
val maxSomeLong = longSomeList.max

有没有简单的解决方案来获得第二个列表的最大值?

来自 TraversableForwarder(scala.collection.generic) 的最大函数

0 投票
1 回答
88 浏览

scala - Scala ListBuffer 数据不可访问

我有以下代码:

我得到一个文件行向量 - 这是文件:

然后我想要做的是获取每个字符串数组的条目,然后放入字符串数组数组中。

我明白了,这很好:

这样做是为了在 SBT 控制台中简单。

所以,我查看了 ListBuffer,因为我想制作这 2 个列表,它们是所有行的子集。

我按照 mutable.ListBuffer 使用 Alvin Alexander 的示例进行了以下操作:

我不得不使用 toString 来编译它。

我得到了正确数量的元素,但是像这样打印出来:

给我:

内容发生了什么变化?Array [String] 的数组也没有帮助。查看二维数组也没有清除它。

我所需要的只是一个字符串数组的行数组。

0 投票
1 回答
135 浏览

scala - 为什么不是带有字符串和日期元素 ListBuffer[Any] 的 ListBuffer?

假设我有:

哪里myDate是 type java.util.Date,它的价值是1970-01-01T00:00:00.000-00:00

将其放入 Scala REPL 告诉我: pairOfObjects: scala.collection.mutable.ListBuffer[Comparable[_ >: java.util.Date with String <: Comparable[_ >: java.util.Date with String <: java.io.Serializable] with java.io.Serializable] with java.io.Serializable] = ListBuffer("", Wed Dec 31 16:00:00 PST 1969)

我希望它类似于ListBuffer[Any]. 事实上,当我输入时:

var pairOfObjects = ListBuffer("", 1)

Scala REPL确实给了我:

pairOfObjects: scala.collection.mutable.ListBuffer[Any] = ListBuffer("", 1)

为什么将 Date 对象放入 ListBuffer 会导致如此复杂的类型?

0 投票
1 回答
188 浏览

scala - ListBuffer 将其分配给一个字符串

我在 ListBuffer 上创建了循环:

我想将我在 listOfNamesOfMissingFiles 中获得的内容分配给一个属性,并将其作为事件发送到 kibana 门户。如果我的 listOfNamesOfMissingFiles == ListBuffer("hhhh","uuuu"). 如果我会做 listOfNamesOfMissingFiles.toString 我会得到“ListBuffer(“hhhh”,“uuuu”)”。如何从输出中删除 ListBuffer?