检查最后获取的 Map 元素是否是最后一个

imb*_*eep 2 java hashmap

面临一个问题,我需要将元素放在两个不同的 Map 中,然后遍历所有这些并将 if 条件放在最后一个 Map 的最后一个元素上。

在这里,我有我尝试过的代码:

private Map<Integer, String> testing1 = new TreeMap<>();
private Map<Integer, String> testing2 = new TreeMap<>();

testing1.put(1, "one");
testing1.put(2, "two");
testing2.put(3, "three");
testing2.put(4, "four");
Run Code Online (Sandbox Code Playgroud)

现在我有两个 for 循环,我想检查两个 for 循环现在是否都有最后一个元素:我尝试过 .size() 但这对 Map 没有帮助

for (Map.Entry<Integer,String> something: testing1.entrySet()) {
  for (Map.Entry<Integer,String> something2: testing2.entrySet()) {
     if(){
     }
  }
}
Run Code Online (Sandbox Code Playgroud)

nag*_*547 5

我想,这对你真的很有用。

TreeMap 的lastKey方法。

Map<Integer, String> testing1 = new TreeMap<>();
Map<Integer, String> testing2 = new TreeMap<>();

testing1.put(1, "one");
testing1.put(2, "two");
testing2.put(3, "three");
testing2.put(4, "four");

int lastKey1 = ((TreeMap<Integer, String>) testing1).lastKey();
int lastKey2 = ((TreeMap<Integer, String>) testing2).lastKey();
for (Map.Entry<Integer,String> something: testing1.entrySet()) {
      for (Map.Entry<Integer,String> something2: testing2.entrySet()) {
         if(something.getKey() == lastKey1  && something2.getKey() == lastKey2){
             // do your work
         }
      }
    }
Run Code Online (Sandbox Code Playgroud)