У меня есть фрейм данных со столбцом, который содержит массив, содержащий структуры формы (ключ, оценка), то есть столбец значений ниже.Кроме того, у меня есть еще один столбец с именем item, который содержит строку.
root
|-- value: array (nullable = true)
| |-- element: struct (containsNull = true)
| | |-- key: string (nullable = true)
| | |-- score: double (nullable = true)
|-- id: string (nullable = true)
|-- item: string (nullable = true)
Когда элемент не равен NULL, я хочу выполнить поиск по списку массивов, чтобы увидеть, присутствует ли этот элемент в value.key (s).Если его нет, добавьте (item, min) к массиву в столбце значений.Здесь min - минимальное значение для баллов в массиве.Мне нужно сохранить порядок элементов в arraylist и добавить новую структуру в конец списка.
Пример ввода:
+-----------------------------------+------+------+
| value | id | item |
+-----------------------------------+------+------+
|[[e1, 0.4] , [e2, 0.3]] | 1 | e3 |
|[[e1, 0.4] , [e2, 0.3], [e3, 0.2]] | 2 | e4 |
|[[e1, 0.4] , [e2, 0.3]] | 3 | e1 |
|[[e1, 0.4] , [e2, 0.3]] | 4 | null |
+-----------------------------------+------+------+
Пример вывода:
+------------------------------------------------+------+------+
| value | id | item |
+------------------------------------------------+------+------+
|[[e1, 0.4] , [e2, 0.3], [e3, 0.3]] | 1 | e3 |
|[[e1, 0.4] , [e2, 0.3], [e3, 0.2], [e4, 0.2]] | 2 | e4 |
|[[e1, 0.4] , [e2, 0.3]] | 3 | e1 |
|[[e1, 0.4] , [e2, 0.3]] | 4 | null |
+------------------------------------------------+------+------+
Как будет отличаться решение, если я захочу добавить новый (балл, оценка) к определенной позиции в списке?(например, начало или середина)