java - 如何从 hashMap 中查找所有第一个值

标签 java

我有一个列表 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/

相关文章:

java.rmi.ConnectException : Connection refused to host: 192. 168.0.55

java - 是否可以指向特定的 JPanel

java - 验证 selenium 中的动态页面

java - 线程安全的 Servlet

java - 将结果存储在 double 类型的数组中

Java日期格式转换 - 弄错月份

java - Eclipse和Mysql连接错误

java - Android Dagger2 和 Butterknife 冲突

java - 将句子中用破折号分隔的三个或多个数字之间的破折号字符替换为空格

java - 如何在 ARcore 的帮助下相对于一个 anchor 定位 anchor /节点/ anchor 节点?