LoginSignup
2
2

More than 5 years have passed since last update.

Scalaでコレクションから要素を削除する方法のメモ

Last updated at Posted at 2019-02-24

概要

AtCoderに最近取り組んでいて、一度コレクションに入れた要素を削除したい場面が出てきます。該当する要素を削除した後のコレクションを、取得する方法をメモ書きします。

例題

下記のようなコレクションがあり、ここから要素が「1」のものを削除します。

val seqSample = Seq(1, 2, 1, 3, 1, 4, 1, 5, 1, 6)

対応

1. 「1」を全て削除する

filterNotメソッドを使うのが、一番簡単かなと思います。

【サンプルコード】
seqSample.filterNot(_ == 1)
【出力結果】
List(2, 3, 4, 5, 6)

2. 「1」を指定した数だけ削除する

どのように実装すれば良いか悩んだのですが、おそらくdiffメソッドを使うのが一番分かりやすいのかなと感じました。以下は「1」を1つだけ削除する場合です。

【サンプルコード】
seqSample.diff(Seq(1))
【出力結果】
List(2, 1, 3, 1, 4, 1, 5, 1, 6)

ちなみに「1」を2つ削除する場合は以下のように書けます。

【サンプルコード】
seqSample.diff(Seq(1, 1))
【出力結果】
List(2, 3, 1, 4, 1, 5, 1, 6)
2
2
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2