【发布时间】:2013-11-12 12:40:15
【问题描述】:
我正在使用HashMap<Integer, ArrayList>。在我的ArrayList,
第二个元素是int,我需要将其加一。我怎样才能做到这一点?
public class IncrementAge {
/** integer is key; value is ArrayList. */
Map<Integer, ArrayList> idNumber = new HashMap<Integer, ArrayList>();
/** array that contains name and age (only two elements). */
ArrayList<> person = new ArrayList();
/** name is 1st(0) element in array while age is second(1) element. */
this.person.add(0, "jose");
this.person.add(1, 32);
/** place this object in hashMap with key=0; obj=person. */
idNumber.put(0, this.person);
}
我应该如何增加这个idNumber 对象的年龄,
基于HashSet的键值?
【问题讨论】:
-
您需要将对象名称赋予 ArrayList 模板。
-
这是一个糟糕的设计。请创建一个 Person 类,并让 Map 的类型为
。然后可以在 Map 中查找一个人,并使用 Person 的方法来更改属性。 -
你需要先从Map中获取ArrayList,然后通过索引获取元素。
-
当你解决这个问题时,你会发现它需要一大堆代码,而且还有非类型安全的代码——这就是你的设计很糟糕的原因。
-
不是硬件。试图了解java的内置数据结构。只是玩弄它