0

我想根据下面的“代码”字段对 Arraylist 进行排序,并且我想在当前的 arraylist 中添加一条附加记录,其值按相同代码的总价计算。

No      Desc    Width      Height       Code        Price

1        WW     88.0        88.0      1021021       340.0       
4        TT     55.0        55.0      1021021       340.0       
5        PP     66.0        66.0      1021021       340.0   
2        gg     66.0        66.0      1021022       320.0       
3        LL     658.0       652.0     1021022       320.0

我的预期输出将是这样的

1        WW     88.0        88.0      1021021       340.0       
4        TT     55.0        55.0      1021021       340.0       
5        PP     66.0        66.0      1021021       340.0
                                                    1020
2        gg     66.0        66.0      1021022       320.0       
3        LL     658.0       652.0     1021022       320.0
                                                    640

任何人都可以提出解决这个问题的最佳方法吗?提前致谢。

4

2 回答 2

5

如果您要使用 java,您可以编写自己ComparatorArrayList并将比较器传递给Collections.sort()方法

来自 Javadoc:

一个比较函数,它对某些对象集合进行总排序。比较器可以传递给排序方法(例如Collections.sortArrays.sort)以允许精确控制排序顺序。比较器还可用于控制某些数据结构(例如排序集或排序图)的顺序,或为不具有自然排序的对象集合提供排序。

于 2012-04-27T06:37:40.017 回答
0

我给你举个Comparator例子。

import java.util.Comparator;

public class CodeComparator implements Comparator<Item> {

    @Override
    public int compare(Item arg0, Item arg1) {
        return arg0.getCode().compareTo(arg1.getCode());
    }

}

然后使用以下命令对数组进行排序:

Collections.sort(itemList, new CodeComparator());
于 2012-04-27T06:56:10.680 回答