我想對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
而標題與你的問題沒有關係 –