java - 准备多值国家 map

标签 java hashmap

我想以这样的方式准备一个HashMap

Key   :  Country Code
Value :  List of returned orderEntries  

以下处理数据方法每 5 个 orderEntry 处理一次,可以来自任何国家/地区。

让我说得更清楚一些。我有来自不同国家/地区的 orderEntries 列表,现在我想根据国家/地区键将这些条目放入 map 中。就像如果 20 个条目来自 US,那么 US 将是键,20 个条目将是值。但问题是我不想为 map 内的每个县创建一个列表。

public void processSegmentData(final List resultSet)
    {

        for (final Object orderEntry : resultSet)
        {
            if (orderEntry instanceof OrderEntryModel)
            {
                String countryCode = null;

                final OrderModel order = ((OrderEntryModel) orderEntry).getOrder();

                if (order.getDeliveryAddress() != null)
                {
                    countryCode = order.getDeliveryAddress().getCountry().getIsocode();
                }


                orderEntriesMap.put(Config.getParameter(countryCode+".return.pid"), orderEntries);

            }

        }

    }

最佳答案

所以你正在寻找一个包含链接列表的 HashMap :

public HashMap<String, LinkedList<OrderEntryModel>> processSegmentData(final List resultSet) {
    HashMap<String, LinkedList<OrderEntryModel>> orderEntriesMap = new HashMap<String, LinkedList<OrderEntryModel>>();

    for (final Object orderEntry : resultSet) {
        if (orderEntry instanceof OrderEntryModel) {
            String countryCode = null;

            final OrderModel order = ((OrderEntryModel) orderEntry).getOrder();

            if (order.getDeliveryAddress() != null) {
                countryCode = order.getDeliveryAddress().getCountry().getIsocode();
            }
            if (!orderEntriesMap.containsKey(countryCode)) {
                orderEntriesMap.put(countryCode, new LinkedList<OrderEntryModel>());
            }
            orderEntriesMap.get(countryCode).add((OrderEntryModel) orderEntry);                

        }

    }
    return orderEntriesMap;
}

将是一个基于您提供的源代码猜测对象名称的示例。

关于java - 准备多值国家 map ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28405981/

相关文章:

Java HashMap 唯一键被覆盖 - 请查看代码和建议

Java xpath 将整个元素作为字符串返回

java - Spring Boot Spark 应用程序

java - 获取特定像素的 x,y 位置

java - 正则表达式某些字符可以存在或不存在,但之后什么都没有

java - 显示存储在 HashMap 中的对象值

java - 如果我没有将元素放入 Map 中,如何从 Map 中获取元素?

java - JPanel 没有出现在 JDialog 中

Java HashMap 实现哈希码问题

java - 如何将重复数组元素分配为唯一键,并计算相应的整数值?