Вы можете архивировать элементы с индексом, а затем удалять элементы по нужным индексам, как показано ниже:
val fruitList = List("apple", "orange", "banana", "apricot", "blueberry", "cherry")
val removeSet = Set(2,3) // This set contains indexes of fruits which should be removed from fruitList
val resultList = fruitList.zipWithIndex //zip fruits with indexes to get List[(fruit, index)]
.filter(x => !(removeSet.contains(x._2))) // filter List[(fruit, index)] to remove fruits present at indexes contained in removeSet
.map(_._1) // map List[(fruit, index)] to List[fruit]
println(resultList) // prints List(apple, orange, blueberry, cherry)