4 回答

TA貢獻1872條經(jīng)驗 獲得超4個贊
ArrayList<student> studentsListCopy = new ArrayList<student>();
for(int i=0;i<studentList;i++)
{
studentsListCopy.add(studentList[i])
}
你可能在尋找這樣的東西嗎?

TA貢獻1773條經(jīng)驗 獲得超3個贊
您必須簡單地創(chuàng)建一個新的List(應該使用子實現(xiàn)),將您的原始列表作為參數(shù)。
任何容器(原始列表或其副本)中元素的任何更改都會影響對象本身,因為您正在操作引用的對象,并且在任何這些容器中刪除或插入元素不會影響另一個容器,因為它們完全分開:
class Student {
String name;
List<Subject> subjects;
private void someMethod() {
// create a shallow copy
List<Subject> copy = new ArrayList<>(subjects);
// edit the contained elements
copy.get(0).setSomeProperty();
}
}

TA貢獻1794條經(jīng)驗 獲得超8個贊
從您的列表中創(chuàng)建一個不可修改的列表。通過這種方式,您可以編輯列表元素的屬性,并且不能從列表中刪除元素。如下所示:
List<Student> editStudentList = Collections.unmodifiableList(yourStudentList);
添加回答
舉報