下大致相當於你的Perl代碼。
List<Map<String,String>> mapList = new ArrayList<Map<String,String>>();
Map<String,String>> map1 = new HashMap<String,String>();
map1.put("food", "pizza");
Map<String,String>> map2 = new HashMap<String,String>();
map2.put("drink", "coke");
Collections.addAll(mapList, map1, map2);
...
for (Map<String,String> map : mapList) {
System.out.println("food is " + map.get("food"));
System.out.println("drink is " + map.get("drink"));
}
但是,正如您所看到的,這比Perl中的繁瑣得多。這使我想到,在Java中使用自定義類而不是關聯數組(例如Map
實例)來完成這種事情通常是更好的主意。然後,你可以這樣寫,就像這樣:
List<Diet> dietList = new ArrayList<Diet>();
Collections.addAll(dietList, new Diet("pizza", null), new Diet(null, "coke");
...
for (Diet diet : dietList) {
System.out.println("food is " + diet.getFood());
System.out.println("drink is " + diet.getDrink());
}
這種方法(使用自定義類)通常更強勁,更高效,併爲您提供更可讀的代碼。