如何在地图中打开对象列表

时间:2012-08-29 17:23:52

标签: java

我试图找出如何将对象列表转换为java中的地图或处理列表

实施例 发票有两个字段,注释和金额:

List<Invoice> invoices = Arrays.asList(
new Invoice( "note1", "amount1" ), 
new Invoice( "note2", "amount2" ) );

现在我可以将此列表放入如下的地图中:

Map<Long, String>

2 个答案:

答案 0 :(得分:5)

如下所示:

Map<Long, String> map = new HashMap<Long, String>();
for(Invoice invoice : invoces) {
    map.put(invoice.getId(), invoce.getName());
}

由于您没有提到要将Long键和String值存储的具体内容,我认为您的类Invoice具有较长的ID和String名称。你可以根据你的实际需要更改map.put(...)行。

答案 1 :(得分:0)

public static Map<Long, String> invoicesToMap(List<Invoice> invoices) {
  Map<Long, String> map = new HashMap<Long, String>();
  for (Invoice invoice : invoices) {
    map.put(Long.valueOf(invoice.getAmount()), invoice.getNote());
  }
  return map;
}