问题标签 [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.
scala - 遍历混合类型的 scala 列表
使用 Spark 2.1.1,我有一个 N 行 csv 作为 'fileInput'
我已经成功地制作了一个 sql.rows 数组...
针对这些行并使用我的随机值生成器脚本,我成功填充了一个空的 ListBuffer[Any] ...
现在,我有一个具有不同类型列表的混合类型 ListBuffer[Any]。. 如何迭代和压缩这些? [任何] 似乎无视映射/压缩。我需要获取由 inputFile 的定义生成的 N 个列表,然后将它们保存到 csv 文件中。最终输出应该是:
然后 inputFile 可用于创建任意数量的“colnames”,任何“数据类型”(我有脚本),每种类型出现 1::n 次,任意数量的行(定义为“elems”)。我的随机生成脚本自定义每个“开始”和“结束”的值,但这些列与这个问题无关)。
scala - Scala:我可以使用 -= head 从列表中删除一个项目吗?
似乎 usingi -= i.head
不会执行与i.remove(0)
ListBuffer 相同的功能。那正确吗。如果是,为什么?
scala - 访问依赖于要填充的列表缓冲区的常量 Scala
遇到一个问题,我在 scala 步骤定义文件的开头指定私有常量,该文件依赖于要填充的 List Buffer 元素,但是在编译时我得到一个“IndexOutOfBoundsException”,因为该列表最初是空的,以后才会填充一个 for 循环。例如,我有以下 2 个常量:
使用 for 循环将 globalExampleList 进一步填充到文件中:
此 List Buffer 将所需的值添加到全局可变 ListBuffer 中。
有没有更好的方法来声明这些常量?我试图在 for 循环之后声明它们,但是其他方法无法访问它们。我在同一个文件中有大约 4 种不同的方法,它们使用这些值,而不是每次通过索引访问它,我认为最好将它们声明为常量,以便在需要更改时保持整洁和高效。
谢谢
scala - 如何更新Scala中LinkedHashMap中键集的每个值,具有LinkedHashMap [Int,ListBuffer [Int]]?
我有一个 LinkedHashMap 类型:
我想在每个键的每个列表中添加一个元素,假设我想添加“6”以便拥有:
我该怎么做呢?
scala - 从类型 (Int, ListBuffer(Int)) 的映射中删除元素
我有LinkedHashMap
s 类型:
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中做到这一点?
scala - 从 ListBuffer 的 LinkedHashMap 和 ListBuffer 中移除元素,用作图结构中的顶点属性
我使用 GraphX API 在 Scala 中构建了一个图形。在我的图中,每个顶点都有一个LinkedHashMap[Int, ListBuffer[ListBuffer[Int]]]
as 属性:每对 (key, value) 的LinkedHashMap
代表:
- 键:节点的 id - as
Int
- 值:到达节点的所有可能路径 - 每条路径都是 a
ListBuffer[Int]
,所以我有 aListBuffer
ofListBuffer[Int]
(我曾经Pregel
创建过LinkedHashMap
s)。所以,我想实现从图中删除节点的情况。我要做的是:
- 在 each
LinkedHashMap
中删除带有键 == id_of_the_node 的元素 - 在 each
ListBuffer[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
如下的顶点上调用它,它不会给我想要的结果。
如何正确编写方法(同时实现点1
和2
)?以及如何使用它myGraph.vertices
?在伪代码中:
此外,LinkedHashMap
该方法是否具有最佳时间复杂度的数据结构remove
?
scala - 在 Scala 中的 Some[Long] 的 ListBuffer 中获取最大值
这段代码工作正常并按预期返回 343423:
但它不适用于 Some[Long]:
错误:没有为 Some[Long] 定义隐式排序。
val maxSomeLong = longSomeList.max
有没有简单的解决方案来获得第二个列表的最大值?
来自 TraversableForwarder(scala.collection.generic) 的最大函数
scala - Scala ListBuffer 数据不可访问
我有以下代码:
我得到一个文件行向量 - 这是文件:
然后我想要做的是获取每个字符串数组的条目,然后放入字符串数组数组中。
我明白了,这很好:
这样做是为了在 SBT 控制台中简单。
所以,我查看了 ListBuffer,因为我想制作这 2 个列表,它们是所有行的子集。
我按照 mutable.ListBuffer 使用 Alvin Alexander 的示例进行了以下操作:
我不得不使用 toString 来编译它。
我得到了正确数量的元素,但是像这样打印出来:
给我:
内容发生了什么变化?Array [String] 的数组也没有帮助。查看二维数组也没有清除它。
我所需要的只是一个字符串数组的行数组。
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 会导致如此复杂的类型?
scala - ListBuffer 将其分配给一个字符串
我在 ListBuffer 上创建了循环:
我想将我在 listOfNamesOfMissingFiles 中获得的内容分配给一个属性,并将其作为事件发送到 kibana 门户。如果我的 listOfNamesOfMissingFiles == ListBuffer("hhhh","uuuu"). 如果我会做 listOfNamesOfMissingFiles.toString 我会得到“ListBuffer(“hhhh”,“uuuu”)”。如何从输出中删除 ListBuffer?