Fügen Sie ein neues element an einer bestimmten position einer Liste

Gibt es keine built-in Funktion oder eine Methode von einer Liste, die es erlauben würde Benutzer hinzufügen ein neues element an einer bestimmten position einer Liste. Hab ich schrieb eine Funktion, die dies tut, aber ich bin mir nicht sicher, dass es eine gute Idee, es zu tun auf diese Weise, obwohl es funktioniert sehr gut:

def insert(list: List[Any], i: Int, value: Any) = {
  list.take(i) ++ List(value) ++ list.drop(i)
}

Verwendung:

scala> insert(List(1,2,3,5), 3, 4)
res62: List[Any] = List(1, 2, 3, 4, 5)
  • Keine Antwort, aber ich würde vorschlagen, mit .splitAt eher als .take und .drop (zu vermeiden, gehen über die Liste zweimal).
  • Dies wäre wahrscheinlich viel mehr den entsprechenden CodeReview.SE. Ich werde die Antwort in den Geist dieser Website.
  • "Es gibt keine built-in Funktion oder eine Methode von einer Liste, die würde, die Benutzer erlauben, um ein neues element hinzuzufügen" Aber es ist so eine Methode - es ist genannt patch.
InformationsquelleAutor HeeL | 2015-06-24
Schreibe einen Kommentar