kre*_*rex 2 java arraylist hashmap
我正在为uni做一些课程,我真的应该知道这一点,但我不确定如何更新存储在HashMap中的对象.
我有一个抽象的'User'类,它扩展为'Customer'和'Staff'类,其实例存储在名为'mapUsers'的HashMap中.
我认为可以这样做的方法是将要修改的元素保存到临时 'User'对象中,在这个临时实例上我可以以任何必要的方式修改Object.
我真正的问题是,这将更新存储在HashMap中的对象,还是我必须删除存储在HashMap中的元素并替换为修改后的临时实例.
有没有更简单的方法来做到这一点,我想也许是这样的
HashMap.get(index).performOperation();
Run Code Online (Sandbox Code Playgroud)
类似的东西,我可以在不删除元素的情况下执行操作.
Tud*_*dor 11
由于您HashMap持有引用,执行此操作:
Person p = new Person();
p.setName("John");
hashMap.put(1, p);
p.setName("Jack");
Run Code Online (Sandbox Code Playgroud)
会在里面更改名称HashMap,因为两个引用都指向同一个东西.
或者,假设p已经在HashMap:
Person p = hashMap.get(1);
p.setName("Jack");
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
21078 次 |
| 最近记录: |