如何判断List是否包含Map键

时间:2014-03-07 17:43:26

标签: java map linked-list

我正在尝试编写一个while循环,该循环将继续迭代,直到节点列表在其映射中没有某个键。我的代码如下所示:

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 )
    }
}

我将从父项中提取整数并将其放入顶点,并使用顶点来查找节点中的键。在节点中找到整数的调用是什么样的?

2 个答案:

答案 0 :(得分:0)

我不确定这是不是你想要的但是可能。

    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.
        }
    }

答案 1 :(得分:0)

这可能会有所帮助

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
      }
   }
}