Java 如何判断列表是否包含映射键
我试图编写一个while循环,该循环将继续迭代,直到节点列表在其映射中没有某个键为止。我的代码如下所示:Java 如何判断列表是否包含映射键,java,map,linked-list,Java,Map,Linked List,我试图编写一个while循环,该循环将继续迭代,直到节点列表在其映射中没有某个键为止。我的代码如下所示: List<Map<Integer, Integer>> nodes = new LinkedList<Map<Integer, Integer>>(); List<Integer> parent = new LinkedList<Integer>(); . . . while (parent != null) {
List<Map<Integer, Integer>> nodes = new LinkedList<Map<Integer, Integer>>();
List<Integer> parent = new LinkedList<Integer>();
.
.
.
while (parent != null) {
int vertex = parent.remove(0);
while(//The problem )
}
}
我将从父节点中提取整数并将其放入顶点,然后使用顶点在节点中查找关键点。在节点中查找整数的调用是什么样子的?我不确定这是否是您想要的,但可能是
List<Map<Integer, Integer>> nodes = new LinkedList<Map<Integer, Integer>>();
LinkedList<Integer> parent = new LinkedList<Integer>();
// ^ or Queue to use .poll() which removes the first item
Integer parentItem;
while ((parentItem = parent.poll()) != null) {
// check if that item is somewhere in the maps
boolean inMaps = false;
for(Map<Integer, Integer> map : nodes) {
if (map.containsKey(parentItem)) {
inMaps = true;
break;
}
}
// if it is not do something special, maybe "return" or "break;"
if (!inMaps) {
// do something.
}
}
这可能会有帮助
for(int vertex: parent) {
for(Map<Integer, Integer) entry : nodes) {
if(entry.contains(vertex) {
//the map entry has the key, write your logic and return
return entry
}
}
}