Java:多次将元素从 Hashmap 添加到 vector

标签 java vector hashmap

我正在尝试检查迷宫中房间的 HashMap ,并将外部房间添加到 vector 中。房间不断添加多次,任何人都可以帮我找出原因吗?

public void fillOuterRoomVector()
{
    //initialize the vector
    outerRooms = new Vector<Room>();

    //for each one
    for(Entry<String, Room> e : mazeRooms.entrySet()) 
    {
        //if it is outer
        if (e.getValue().isThisAnOuterRoom()==true)
        {
            //add it
            outerRooms.add(e.getValue());
        }
    }
}

编辑:我在调试时检查了 Eclipse 中的变量 View ,房间实际上只在 mazeRooms 中出现一次,而在outerRooms 中出现多次

编辑:Screenshot from debug screen

最佳答案

在不知道数据的情况下,我的猜测是 mazeRooms 具有多个键的相同值。如果您需要一个非重复数据的集合,我建议使用 Set 而不是 Vector

关于Java:多次将元素从 Hashmap 添加到 vector ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9082483/

相关文章:

java - 类 Entry<K,V> 实现 Map.Entry<K,V>

C++初始化模板类

c++ - vector<MyClass*> 的 lower_bound

loops - SPSS 列/变量的滞后

java - Map.containsKey() 在没有空值的 Map 中有用吗?

java - 将 Java Threading Class 放到一个单独的类中

java - 访问 Tomcat 中的详细日志

JavaFX : Remove the scene loaded in Center of BorderPane

java - 将每个转换为 if else 流式传输

java - Guava ImmutableMap 会推迟 Map 调整大小吗?