我想在 java 中创建我自己的 ArrayList 实现,它可以在列表更改时进行监听,并在发生这种情况时执行操作。
根据我所读到的内容,我了解到我无法扩展 ArrayList 然后添加侦听器。
我想在类中使用 MyList 作为变量public修饰符,因此用户可以直接更改它,并在更改时执行操作。
class MyList extends ArrayList<object>.... { ... }
class UseOfMyList {
public MyList places = new MyList<Object>();
places.add("Buenos Aires");
//and to be able to do that
List cities = new ArrayList<Object>();
cities.add("Belmopan");
places = cities;
那么如何创建以及何时添加、删除或传递另一个列表到 MyList 一个要执行的操作?
你无法通过扩展来做到这一点ArrayList
,因为它没有内置的通知机制(而且,因为它已经被声明为final
因此无法扩展)。但是,您可以通过创建自己的内容来实现您想要的结果List
实现并添加您的“侦听器”功能add()
and remove()
方法:
class MyList<T>{
private ArrayList<T> list;
public MyList(){
list = new ArrayList<>();
...
}
public void add(T t){
list.add(t)
//do other things you want to do when items are added
}
public T remove(T t){
list.remove(t);
//do other things you want to do when items are removed
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)