我想对ArrayList进行排序,并且应该对ArrayList的副本进行排序。如何从java中的ArrayList创建新的集合
我试过以下,但它是排序一个原始列表,无论我在排序列表上做出的更改,它也反映在原始列表中。
List <Stud> list = new ArrayList<>();
list.add(new Stud(1,"Sachin") );
list.add(new Stud(2,"Niteen") );
Set <Stud> set = new HashSet<>(list);
Stud s = set.iterator().next();
System.out.println("S:"+s);
s.setRoll(10);
System.out.println("list: "+list);
System.out.println("set : "+set);
roll no 10设置在arraylist和set中,如何避免这种情况。 如果你解释它为什么会发生这很有帮助。
您已在两个集合中添加了“Stud”的相同实例。也许你应该在别的东西上调用setRoll(把可变数据从学生的(?)身份信息中分离出来)。也许套装应该只有ID号码?很难说,不知道更多关于你的项目。 – Thilo
看看这里:https://stackoverflow.com/questions/715650/how-to-clone-arraylist-and-also-clone-its-contents – algrid
而标题与你的问题没有关系 –