java – 通过扩展类迭代Arraylist
发布时间:2020-12-14 19:17:07 所属栏目:Java 来源:网络整理
导读:我一直想知道Java中的一个函数,我希望它存在.我想迭代一个Arraylist(比如A类),它包含类B和C的对象,它们都扩展了A.这个想法,我只想迭代(例如)ArrayList中B类的对象. 这怎么可能,比如下面代码中的简短示例,而没有长代码? 主要课程: import java.util.*;publi
我一直想知道Java中的一个函数,我希望它存在.我想迭代一个Arraylist(比如A类),它包含类B和C的对象,它们都扩展了A.这个想法,我只想迭代(例如)ArrayList中B类的对象. 这怎么可能,比如下面代码中的简短示例,而没有长代码? 主要课程:
A:
B:
C:
编辑:因为有这么多人回答这个问题:我知道使用instanceof.我想要一种更快的方法来遍历数组中的所有对象,其中类是B. 最佳答案
您可以为它创建一个可重用的Filter类,类似于FileFilter. (参见korifey关于使用番石榴的答案.)除此之外,不,没有任何现有的功能.此外,任何现有功能都必须完全按照您正在执行的操作,因为List类型无法知道列表中不同类对象的位置. (它必须迭代它们才能找到它们.)
如果您需要一个高性能的解决方案,您可以考虑为单独的实例存储单独的列表 – 替换当前列表或作为当前列表的补充.您甚至可以将它包装在一个复合类中,该复合类将通过通用API提供两种功能(所有实例和按类实例). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容