我有一个列表 HashMap<Integer, Point3d>
格式如下。
{
{key1,(x1,y1,z1)},
{key2,(x2,y2,z2)},
{key3,(x1,y3,z3)},
{key4,(x1,y4,z4)},
{key5,(x5,y5,z5)},
..
}
首先,我想将第一个元素与所有点分开,例如 {x1,x2,x1,x1,x5}
然后删除重复项,如 {x1,x2,x5}
最后结果的长度意味着 {x1,x2,x5}.size()
以同样的方式,我想实现 Points
的第二个和第三个元素.
我尝试分配,但还是没有找到。因为我们无法从 HashMap
检索值基于index
。我们可以根据 Key value
检索值但我不知道Keyvalues
HashMap 。
我尝试了以下方法。
public int xSideLength(HashMap<Integer, Point3d> coOrdinates) {
int length=0;
Set<Integer> keyValues=coOrdinates.keySet();
Integer[] array=(Integer[]) keyValues.toArray();
for (int index = 0; index < array.length; index++) {
//logical code
}
return length;
}
任何人都可以建议我吗?
最佳答案
您对以下内容有何看法:
Set<Integer> values = new HashSet<Integer>();
for(Point3d point : coordinates.values()) {
values.add(point.x());
}
return values.size();
关于java - 如何从 hashMap 中查找所有第一个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19093213/