我想要一个ArrayList
,并限制元素脱绒。我该怎么做?
创建一个包装器List
不允许删除的接口,只允许删除所需的方法:
class MyArrayList<T> {
private List<T> list;
public MyArrayList() {
list = new ArrayList<T>();
}
public boolean add(T t) {
return list.add(t);
}
//add other desired methods as well
}
另一个不推荐的选择是从ArrayList
并覆盖remove
方法不执行任何操作,但这是不希望的,因为除非确实需要,否则不应从这些类扩展:
public MyArrayList<T> extends ArrayList<T> {
@Override
public boolean remove() {
//do nothing...
}
}
另外,您可以将当前的List
using Collections#unmodifiableList避免元素删除(这是一个像上面提到的包装类,除了实现List
)但请注意,您也不能添加元素。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)