假设我有一个对象集合,对于每个具有特定属性的对象,我想移除该对象并在其位置插入一个新对象。举个例子,假设我收集了一些动物物品:
[狗,狗,狗,郊狼,狗,狐狸,狗,猫,雪貂,土拨鼠]
for each animal ->
if animal = Dog, Ferret, Groundhog continue iterating
else if animal = Coyote, replace with Dog and continue iterating
else if animal = Fox, replace with Dog and continue iterating
在保持集合的初始顺序的同时,哪种数据结构最适合完成这样的任务?任何建议都将不胜感激。
1条答案
按热度按时间11dmarpk1#
数组是您可以使用的最轻量的数据结构,如果元素的数量不变,它也是最合适的。唯一的问题是必须将数组的引用类型声明为all相等。我建议所有的类都从父类扩展,比如“animal”。在下面的解决方案中,我将所有类从animal扩展到:
然后我使用一个数组来存储动物示例。for循环将遍历每个项目,并用dog替换fox和coyote的示例。
如果在publicstaticvoidmain方法中包含以下代码,则可以运行该方法以获得以下输出。
输出(其中“test”是包名):