У меня ListBuffer объявлен так:
var distances_buffer: ListBuffer[List[Any]] = ListBuffer.empty[List[Any]]
, и я пытаюсь заполнить его такими данными:
for(current <- 0 to training_list_length - 1){
//A and B are examples
distances_buffer(current) ++= List[Any](A,B)
}
Однако я получаю следующую ошибку:
java.lang.IndexOutOfBoundsException: 0
Чего мне не хватает?
РЕДАКТИРОВАТЬ! Дополнительная информация:
У меня есть список (названный: training_list) точек и их класса. (x, y, класс):
training_list : List[((Double, Double, String))]
У меня также есть дополнительная точка с заданным значением ax и yy.
Моя цель - рассчитать евклидово расстояние дополнительной точки от каждой точки в списке тренировок и создать результат, который выглядит следующим образом:
//example
List((x: Double, y: Double, class: String), distance: String)
List((4.3,3.0,Iris-setosa), 1.2529964086141665), (4.4,3.0,Iris-setosa), 1.341640786499874)...
Как вы можете видеть, вв список я хочу включить координаты точки (из training_list), класс точки, а также расстояние.
for(current <- 0 to training_list_length - 1){
val dist = eDistance(test_x, test_y, training_x(current), training_y(current))
distances_buffer += ListBuffer[Any](training_result(current),dist)
}
После создания этого списка я хочу отсортировать его по расстоянию. Также застрял здесь!