Java EventListenerList相对于使用Vector的优势

Java EventListenerList相对于使用Vector的优势,java,swing,vector,eventlistenerlist,Java,Swing,Vector,Eventlistenerlist,与Vector相比,使用EventListnerList的优势是什么?哪个更可取? Vector是伪“弃用”的,支持集合APIList 列表可以包含您希望它包含的任何内容,而不受限制 虽然可以在一个列表中支持多个不同的侦听器,但它的管理会很复杂,因为每次您想要找到给定类型的侦听器时,都需要遍历列表。您最好使用某种类型的映射,但之后,您将复制事件列表的功能 EventListenerList允许您管理多种不同类型的EventListeners,但仅限于管理实现EventListener接口的类 S

与Vector相比,使用EventListnerList的优势是什么?哪个更可取?

  • Vector
    是伪“弃用”的,支持集合API
    List
  • 列表
    可以包含您希望它包含的任何内容,而不受限制
  • 虽然可以在一个
    列表中支持多个不同的侦听器,但它的管理会很复杂,因为每次您想要找到给定类型的侦听器时,都需要遍历列表。您最好使用某种类型的
    映射
    ,但之后,您将复制
    事件列表
    的功能
  • EventListenerList
    允许您管理多种不同类型的
    EventListener
    s,但仅限于管理实现
    EventListener
    接口的类
  • Swing组件将
    listenerList
    作为
    受保护的
    字段公开,这是
    EventListenerList
    的一个实例,因此您无需创建自己的
因此,我建议,当

  • 您正在从基于Swing的组件进行扩展,因为它更简单,并且已经可用
  • 管理多种不同类型的侦听器
  • 当您的侦听器实现
    EventListener
当…

时,您可以考虑使用<代码>列表>代码>
  • 您只需要处理单一类型的侦听器和
  • 您还没有从基于Swing的组件进行扩展…因为它以任何方式提供对
    EventListenerList
    的访问
      • Vector
        是伪“弃用”的,支持集合API
        List
      • 列表
        可以包含您希望它包含的任何内容,而不受限制
      • 虽然可以在一个
        列表中支持多个不同的侦听器,但它的管理会很复杂,因为每次您想要找到给定类型的侦听器时,都需要遍历列表。您最好使用某种类型的
        映射
        ,但之后,您将复制
        事件列表
        的功能
      • EventListenerList
        允许您管理多种不同类型的
        EventListener
        s,但仅限于管理实现
        EventListener
        接口的类
      • Swing组件将
        listenerList
        作为
        受保护的
        字段公开,这是
        EventListenerList
        的一个实例,因此您无需创建自己的
      因此,我建议,当

      • 您正在从基于Swing的组件进行扩展,因为它更简单,并且已经可用
      • 管理多种不同类型的侦听器
      • 当您的侦听器实现
        EventListener
      当…

      时,您可以考虑使用<代码>列表>代码>
      • 您只需要处理单一类型的侦听器和
      • 您还没有从基于Swing的组件进行扩展…因为它以任何方式提供对
        EventListenerList
        的访问
      请查看此链接请查看此链接