Могу ли я создать вектор с максимальным размером более 999 элементов? Точно, мне нужно получить элемент по индексу, который больше 999 элементов?
На данный момент, когда я пытаюсь это сделать, я получаю
Exception in thread "main" java.lang.IndexOutOfBoundsException: 1000000 is out of bounds (min 0, max 999)
код: «шаблон» состоит из 100000 элементов
def image(pattern: Vector[Char], patSize: Int): Vector[Int] = {
@scala.annotation.tailrec
def imageCalc(i: Int, caret: Int, image: Vector[Int]): Vector[Int] = {
if (i < patSize) {
if (pattern(i) != pattern(caret)) { //CODE FAILS HERE
if (caret == 0) {
imageCalc(i + 1, caret, image.appended(0))
} else {
imageCalc(i, image(caret - 1), image)
}
} else {
println(caret + 1)
imageCalc(i + 1, caret + 1, image.appended(caret + 1))
}
} else {
image.prepended(0)
}
}
imageCalc(1, 0, Vector[Int]())
}