如何在java中的ArrayList上添加监听器

2024-01-04

我想在 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(使用前将#替换为@)

如何在java中的ArrayList上添加监听器 的相关文章

随机推荐