Java 更改Hashmap中Object的单个参数

Java 更改Hashmap中Object的单个参数,java,object,hashmap,Java,Object,Hashmap,我必须为学校做一个非常基本的“制作CAD项目”,并决定让它更具挑战性,并增加一种与项目更恰当互动的方式。 基本上,我有一个Point类,它的构造函数以x和y坐标作为输入,并且还有一些方法 点(双x,双y){ 这个.x=x; 这个。y=y; } 我希望用户能够创建他/她想要的尽可能多的点-因此我转到了哈希映射(我也尝试了列表,但我已经了解到哈希映射更适合于此,尽管我无法在我的项目中找到具体的答案)。 我的代码中的相关片段如下所示: Map pMap=newhashmap(); double[]单

我必须为学校做一个非常基本的“制作CAD项目”,并决定让它更具挑战性,并增加一种与项目更恰当互动的方式。 基本上,我有一个
Point
类,它的构造函数以
x
y
坐标作为输入,并且还有一些方法

点(双x,双y){
这个.x=x;
这个。y=y;
}
我希望用户能够创建他/她想要的尽可能多的点-因此我转到了
哈希映射
(我也尝试了列表,但我已经了解到
哈希映射
更适合于此,尽管我无法在我的项目中找到具体的答案)。 我的代码中的相关片段如下所示:

Map pMap=newhashmap();
double[]单点=新的双点[2];//临时存储x和y坐标
...
...
...
开关(输入){
案例1:
系统输出打印项次(“创建点?是/否”);
charInput=sc.next().charAt(0);
if(java.lang.Character.toLowerCase(charInput)='y'){
System.out.println(“X坐标:”);
单点[0]=sc.nextDouble();
System.out.println(“Y坐标:”);
单点[1]=sc.nextDouble();
pMap.put(点计数器,新点(单点[0],单点[1]);
点计数器++;
打破
}否则{
打破
}
案例2:
System.out.println(“应编辑的点:”;
int pointC2=sc.nextInt();
System.out.println(“X或Y坐标?”);
char c2Input=java.lang.Character.toLowerCase(sc.next().charAt(0));
如果(c2Input=='x'){
???
}
}
带问号的部分是我只想更改
x
坐标的地方。由于我没有给新的
(直接存储到
Hashmap
)命名,因此我无法使用getter和setter方法访问它。 如何从这里开始更改
Hashmap
中给定索引处对象的单个参数(在本例中为“x”)?如果不可能,我是否应该返回正常的
列表
,如果是,我将如何做?
(另外,一个简短的提示:到目前为止,我们还没有在讲座中获得
列表
哈希图
,因此我的知识基于我在互联网上找到的内容,而不是来自经验或大学)

当用户在
点C2
中输入所需的点时,您可能会在地图中找到存储的密钥

pointselectedpoint=pMap.get(pointC2);
selectedPoint.setX(newX);
//pMap.get(pointC2).setX(newX);
你确实把钥匙放在里面了

pMap.put(点计数器,新点(单点[0],单点[1]);
您的钥匙是
pointCounter