Во-первых, у вас есть локальная переменная с именем list и переменная класса с именем list.В строках 'list = ArrayList ();'и строка «Список списка = новый LinkedList ();»во время выполнения возникнут проблемы с оценкой экземпляра List, который он оценивает.Когда вы вернетесь, вы можете получить совершенно бессмысленные бессмысленные результаты.
Заметьте, я смотрел на этот код всего минуту, так что, скорее всего, это неправильно, но это то, что сразу бросилось в глаза.