我有一个方法,它接受ArrayList的第一个元素并将其放入另一个ArrayList。
让我们说A = {1,2,3}和C = {}
在getStudent()方法之后,我的列表现在看起来像这样:
A = {1,2,3}且C = {1}
有没有办法,使用ArrayLists,一旦传递给C,1就会从列表A中消失?
我的代码:
public Disk getStudent() {
// so it gives me element 0
Student topStudent = studentCollection.get(studentCollection.size() - studentCollection.size());
return topStudent;
}
我知道你可以用堆栈做类似的事情,但我需要这个特殊的部分是一个ArrayList。
答案 0 :(得分:2)
答案 1 :(得分:1)
是否线性发生?如果是这样,您可以使用堆栈或队列分别弹出或出列,然后将结果添加到新列表中。否则,您将要进行三项操作 - 存储来自studentCollection的值,将其从studentCollection中删除,然后将该值添加到新列表中。
答案 2 :(得分:0)
如果函数返回一个对象,则可以使用它从ArrayList
中删除该元素yourArrayList.remove(getStudent());
答案 3 :(得分:0)
你有两种方法可以实现这个目标
使用class Comp extends React.Component {
render() {
let day = this._theDay(this.props.day)
return <div key={day}>{day}</div>;
}
}
删除元素后将其添加到其他列表中。
使用List.remove(0)
代替queue
列表。这样你可以做类似的事情 - list
答案 4 :(得分:0)
您可以定义自定义get方法,在返回之前从列表中删除元素。
例如:
public Student getFrstStudentFromList(){
if(studentCollection.size()!=0){
Student topStudent = studentCollection.get(0);
studentCollection.remove(topStudent); // or studentCollection.remove(0);
return topStudent;
}
return null;
}
另一种方式
ArrayList<Student> list1 = new ArrayList<>();
ArrayList<Student> list2 = new ArrayList<>();
list1.add(new Student("Student 1"));
list1.add(new Student("Student 2"));
list1.add(new Student("Student 3"));
moveFrstElementFromList1ToList2(list1,list2);
public static void moveFrstElementFromList1ToList2(ArrayList<Student> l1, ArrayList<Student> l2){
if(l1.size()!=0){
l2.add(l1.get(0));
l1.remove(0);
}
}
我希望这可以帮到你