因此,据我所知,要将数组添加到列表中有两个选择:.add(int index, E object)
.set(int index, E object)
如果我理解正确的话,add()
只会在末尾或指定的索引中添加新条目,从而将该索引及其后面的所有内容向后推一个;
和set()
仅更改现有条目的值。
是否存在可用的表达式来覆盖给定索引处的数据(如果存在),如果不存在则创建一个新条目?
最佳答案
如果需要,可以覆盖add
的set
和ArrayList
方法:
ArrayList<YourClass> list = new ArrayList<YourClass>() {
@Override
public void add(int index, YourClass element) {
//Do what you want here
//super.add(int index, YourClass element);
}
@Override
public YourClass set(int index, YourClass element) {
//Do what you want here
//return super.set(int index, YourClass element);
}
};