У меня есть ArrayLists внутри HashSet. Я добавляю числа в ArrayList с помощью цикла for и добавляю этот ArrayList в HashSet. Но когда я снова манипулирую ArrayList, манипуляции отражаются и в HashSet. Как я могу избежать этого? Это может быть связано с тем, что ссылка на объект ArrayList хранится в HashSet вместо его значения. Эта проблема может быть решена, если я каждый раз создаю новый объект ArrayList, но я пытаюсь этого избежать. Вот фрагмент кода, который я написал, чтобы проверить это ..
int n=10;
Set<ArrayList> hash_Set = new HashSet<ArrayList>();
ArrayList<Integer> al = new ArrayList<Integer>();
for (int i=1; i<=n; i++)
al.add(i);
hash_Set.add(al);
al.clear();
Есть ли способ использовать один и тот же объект HashSet и итеративно добавлять разные значения каждый раз? Заранее спасибо ..