Итак, я работаю над функцией поиска по ширине и ширине для программы, над которой я работаю в школе, и когда я просматриваю исходящие ребра для данного узла, в силу того, как я просматриваю свои возможные края , это выглядит примерно так:Как я могу отсортировать ArrayList <ArrayList <String>>?
[[A, 1], [D, 1], [C, 2], [D, 2]]
Но что я действительно хочу это:
[[A, 1], [C, 2], [D, 1], [D, 2]]
Если первый индекс пары имя узла, что краевые точки к и второй индекс - это метка для ребра. По сути, я хочу пройти эти ребра по алфавиту, сначала по имени узла, затем по имени метки, но я не уверен, как это сделать, поскольку Collections.sort() не работает для 2D ArrayList. Любые указатели/идеи по хорошему методу сортировки этого? Всем спасибо!
EDIT: Я использую JRE 1.7 для этого задания, а не 1,8
'[[А, 1], [D, 1], [C, 2], [D, 2]] 'не является допустимым примером для' ArrayList> ' Вы можете использовать' .stream(). Sorted() 'для сортировки по естественному порядку или даже для определения custom 'Comparator' –
Вы можете использовать HashMap вместо ArrayList ... – RoiEX
RoiEX, не мог использовать HashMap, так как он может иметь Ключ, который имеет разные значения или должен быть HashMap ... что делает довольно сложную структуру для чего-то простого. –
jeorfevre