如何合并集合内的对象的数据

来源:百度知道 编辑:UC知道 时间:2024/06/07 09:36:26
如何合并集合内的对象的数据,即当对象中某个属性相同是,合并它其他的属性,例如:List集合中的order对象有 time、finalcount,当time相同时,合并finalcount的值
也就是说String类型的time相同时,合并double类型的finalcount值,放在一个order中,删除另外一个order,,跟第一个回答中的说法一样,只是想知道具体集合中怎么实现!

你举的例子只有你自己知道是什么,别人根本不清楚。。什么是合并?两个对象,其中一个属性相同,其他的不同,那合并只有用谁的?这个有关业务逻辑,只有你自己知道该怎么合并,关于集合的操作无非是对所有相同属性的对象,删除别的,只留一个。差不多就是这样,你有什么问题?
=========================================================

下面是一点示例代码,合并完的对象存放在一个新的集合中,关于合并的判断和执行逻辑你自己填进去就是了,这里把他们抽取出来作为单独方法只是为了代码清楚。另外,你也可以借助实现合并的判断,不过个人感觉不太好,所以这里就没这么写

import java.util.ArrayList;
import java.util.Collection;
import java.util.List;

public class Test {
public static void main(String[] args) {

List<Order> orders = new ArrayList<Order>();
/* do something on orders, omitted */

List<Order> ordersAfterMerge = new ArrayList<Order>();
for (Order order : orders) {
Order orderToMerge = getOrderToMerge(ordersAfterMerge, order);
if (orderToMerge != null) {
merge(orderToMerge, order);
}
}

}

static class Order { /* implementation omitted */}

private static