Ari*_*eem 3 java collections hashmap
我正在尝试将值添加到具有以下结构的多值HashMap:
Map< Integer, List<Float> > map = new HashMap< Integer, List<Float> >();
Run Code Online (Sandbox Code Playgroud)
我其实是想坚持一个特定项目(在Android上查看的信息对EG)的引用,所以Integer值HashMap将包含的项目ID是唯一的,List的Float旨意所包含的项X坐标值.用户可以在屏幕上有许多项目,他也可以有100个具有相同ID的项目,因此List将包含每个Items X坐标值.
为了更清楚,我的HashMap将包含以下数据
{1,{200,400.5,500.6 ...}},其中1是键,其余是ID为1的项的浮点值.
现在我添加List值如下...
List<Float> list = new ArrayList<Float>();
list.add(x_coord_1);
list.add(x_coord_2);
list.add(x_coord_3)
map.put(1, list);
Run Code Online (Sandbox Code Playgroud)
我现在面临的问题是弄清楚每次创建新ID时如何实例化新的List.
我将不得不为100个项目创建100个List,这是不可行的,不知道ID的数量.
有没有更好的方法来解决这个问题......
此外,我想找到一种方法从中删除特定键的特定值 HashMap
小智 9
这个怎么样 :
public class multivalueHashmap {
private Map< Integer, List<Float> > map = new HashMap< Integer, List<Float> >();
public void add(Integer id, Float value){
if(!map.containsKey(id)){
map.put(id, new ArrayList<Float>());
}
map.get(id).add(value);
}
public void delete(Integer id, Float value){
if(!map.containsKey(id)){
return;
}
map.get(id).remove(value);
}
}
Run Code Online (Sandbox Code Playgroud)
这样您就可以使用这些方法轻松添加和删除项目.
| 归档时间: |
|
| 查看次数: |
2754 次 |
| 最近记录: |