【发布时间】:2015-11-07 20:57:33
【问题描述】:
我正在尝试使用递归函数遍历 List[Char] 中的每个元素,以检查元素的出现次数。我知道有更简单的方法甚至功能可以做到这一点,但是有什么方法可以只删除列表的第一个位置吗?
我尝试使用 drop,甚至使用了以下截图,但它什么也没做,其中 test 是列表的名称:
def delete(i: Int) = test.take(i) ++ test.drop((i+1));
我试图避免使用 ListBuffer,并尝试转换为 Array 但再次没有成功。
【问题讨论】:
-
以不同的方式考虑它。您需要除
head之外的所有列表。为此,存在tail函数。 -
tail不应使用,因为它是一个部分函数,即它会为空列表抛出异常。Many of the functions ... like head, tail, init, and many many others fail unnecessarily.-stackoverflow.com/a/23184020/409976 -
any way to delete just the first position of a List?。List#drop(1)回答了这个问题。为什么它对你不起作用? -
你说得对,
drop函数更简单。
标签: arrays scala list scala-collections