Java 无需使用比较器即可合并两个对象列表的最优化方法
您认为,我们如何合并两个列表实现,比如ArrayList,而不必将对象类型实现为Comparable,或者无论如何重写.equals()方法。基本上,不允许对该类进行更改。 现在,该对象有4个属性-code、name、(boolean)、(float)。名称不能用作比较的基础,代码也不一定总是非空值。基本上,要么代码不为null,要么布尔值设置为true。 现在,如果列表中的两个元素相互冲突,则需要将它们的(float)值相加。 我们如何以最优化的方式执行此合并?Java 无需使用比较器即可合并两个对象列表的最优化方法,java,list,arraylist,collections,Java,List,Arraylist,Collections,您认为,我们如何合并两个列表实现,比如ArrayList,而不必将对象类型实现为Comparable,或者无论如何重写.equals()方法。基本上,不允许对该类进行更改。 现在,该对象有4个属性-code、name、(boolean)、(float)。名称不能用作比较的基础,代码也不一定总是非空值。基本上,要么代码不为null,要么布尔值设置为true。 现在,如果列表中的两个元素相互冲突,则需要将它们的(float)值相加。 我们如何以最优化的方式执行此合并? 这并不是说我们不能使用名称作为
这并不是说我们不能使用名称作为每个对象的唯一标识符,而是问题是名称太长,这意味着字符串比较也会很昂贵 如果您无法更改类以实现Comparable,您仍然可以使用外部对象。您是否有魔法精灵灰尘,您相信吗?我尝试过使用hashmap-比嵌套循环更好。但是如果条件保持了如此高的复杂性,那么仍然有太多!