Хотя этот ответ решает проблему очистки списка, когда он находится в другом списке, реальный ответ - в комментарии Turing85 , что нет необходимости очищать temp
, поскольку temp
является локальным.
Если вы хотите очистить temp
без очистки записей в этом списке, которые вы вставили в list2
, вы не можете вставить temp
в list2
, а затем очистить temp
, так как temp
и запись в list2
указывают на один и тот же список .
Вместо этого вставьте копию:
list2.add(new ArrayList<>(temp));
Затем, когда Вы очищаете temp
, новый список, который вы поместили в list2
, не будет затронут.