列表数据设置和订单问题

时间:2012-09-12 12:43:54

标签: java arraylist

我想基于其他list的键值将数据添加到列表中。这里auditMap有键att_12,att_11和oldValues有键att_11,att_12,我希望oldValues的顺序以与auditMap相同的方式出现所以我正在循环。这里的密钥应该来自auditMap和来自oldValues的值。我不知道如何替换?

List<FieldProperty> orderedList = new ArrayList<FieldProperty>();
            for (int i = 0; i < auditMap.size(); i++) {
                String auditKey = auditMap.get(i).getKey();
                for (int j = 0; j < oldValues.size(); j++) {
                    String oldAuditKey = oldValues.get(i).getKey();
                    String oldAuditValue = oldValues.get(i).getValue();
                    if (auditKey.equals(oldAuditKey)) {
                                                     orderedList.set(j, ???);
                    }
                }
            }

1 个答案:

答案 0 :(得分:2)

您可以在此处使用LinkedHashMap数据结构。

它保留了对象的顺序(因为它们被放入其中)。所以你可以迭代地图然后订单也一样。