标签: map

在地图中存储标准地图

我必须将std :: map存储为std :: map中的值

std::map< std::string, std::map<std::string, std::string> > someStorage;
Run Code Online (Sandbox Code Playgroud)

如何插入第二个(内部)地图?我尝试过:

someStorage.insert( std::make_pair("key", std::make_pair("key2", "value2")) );
Run Code Online (Sandbox Code Playgroud)

但这会引发很多错误.怎么了?

c++ insert std map

29
推荐指数
2
解决办法
5万
查看次数

c ++ map find()可能insert():如何优化操作?

我正在使用STL映射数据结构,此时我的代码首先调用find():如果键以前不在映射中,则调用insert()它,否则它什么都不做.

map<Foo*, string>::iterator it;
it = my_map.find(foo_obj);   // 1st lookup

if(it == my_map.end()){
  my_map[foo_obj] = "some value";  // 2nd lookup
}else{
  // ok do nothing.
}
Run Code Online (Sandbox Code Playgroud)

我想知道是否有比这更好的方法,因为据我所知,在这种情况下,当我想插入一个尚未出现的密钥时,我在地图数据结构中执行2次查找:一次用于查找( ),insert()中的一个 (对应于operator []).

提前感谢任何建议.

c++ stl map

28
推荐指数
2
解决办法
2万
查看次数

set <pair>和C++中的map之间有什么区别?

我可以通过两种方式轻松地在C++ STL中创建一个关键的值属性:映射和对的集合.例如,我可能有

map<key_class,value_class>
Run Code Online (Sandbox Code Playgroud)

要么

set<pair<key_class,value_class> >
Run Code Online (Sandbox Code Playgroud)

在算法复杂性和编码风格方面,这些用法有何不同?

c++ stl map set data-structures

28
推荐指数
4
解决办法
3万
查看次数

Scala Group是否保留了插入顺序?

Lists,Maps等中的groupBy方法在函数后生成Map.

有没有办法使用groupBy生成一个保留插入顺序的Map(例如LinkedHashMap)?

我正在使用for循环手动插入,但我想知道一个有用的已定义函数是否可以帮助我.

提前致谢.

collections scala hashmap map

28
推荐指数
3
解决办法
8685
查看次数

迭代C++ STL地图数据结构:新技术?(迭代范围和'auto'关键字)

到目前为止,我总是使用迭代器遍历STL映射中的所有键,如下所示:

    for (std::map<char,int>::iterator it=mymap.begin(); it!=mymap.end(); ++it){
            std::cout << it->first << "  => " << it->second << '\n';
    }
Run Code Online (Sandbox Code Playgroud)

最近虽然我遇到了一些使用不同样式来迭代键的代码,如下所示.此功能是否仅在最近修订后的标准中添加?与许多其他语言已经提供的一样,这似乎是一种使用较少代码完成更多工作的相当有趣的方式.

    for (auto& x: mymap) {
            std::cout << x.first << " => " << x.second << '\n';
    }  
Run Code Online (Sandbox Code Playgroud)

此外,我很想知道在这里使用关键字"auto"的确切含义.

c++ stl map c++11

28
推荐指数
4
解决办法
7万
查看次数

使用Leaflet.js关闭所有弹出窗口

我正在使用Leaflet.js在地图上工作,它使用了许多标记(最终会有~40个标记).每个标记都有一个带有详细信息的相关弹出框 Leaflet.js的默认行为似乎是自动打开至少一个标记的弹出窗口(我相信最后列出的标记).

我希望在初始加载地图页面时关闭所有弹出窗口,以便用户必须单击标记才能打开弹出窗口.有谁知道如何做到这一点?我这里有一个原型:

http://dev.monographic.org/maps/prototype-10.html

谢谢.

javascript popup map

28
推荐指数
4
解决办法
2万
查看次数

C++指针的默认构造函数是什么?

我有这样的代码:

class MapIndex
{
private:
    typedef std::map<std::string, MapIndex*> Container;
    Container mapM;

public:
    void add(std::list<std::string>& values)
    {
        if (values.empty()) // sanity check
            return;

        std::string s(*(values.begin()));
        values.erase(values.begin());
        if (values.empty())
            return;

        MapIndex *mi = mapM[s];  // <- question about this line
        if (!mi)
            mi = new MapIndex();
        mi->add(values);
    }
}
Run Code Online (Sandbox Code Playgroud)

我关注的主要问题是,如果将新项目添加到地图中,mapM [s]表达式是否会返回对NULL指针的引用?

SGI文档这样说:DATA_TYPE&运算符[](常量为key_type&K)返回到与特定键相关联的对象的引用.如果映射尚未包含此类对象,则operator []将插入默认对象data_type().

所以,我的问题是插入默认对象data_type()是否会创建一个NULL指针,还是会创建指向内存中某处的无效指针?

c++ constructor pointers map

27
推荐指数
3
解决办法
3万
查看次数

在Scala中,有没有办法将两个列表转换为Map?

我有两个列表,a List[A]和a List[B].我想要的是一个,Map[A,B]但我想要的语义zip.所以从这样开始:

var tuplesOfAB = listOfA zip listOfB
Run Code Online (Sandbox Code Playgroud)

现在我不知道如何构建一个Map来自我的tuplesOfAB.

作为一个后续问题,我也想反转我的地图,以便从Map[A,B]我可以创建一个Map[B,A].任何人都可以用线索打我吗?

scala tuples list map scala-2.8

27
推荐指数
4
解决办法
2万
查看次数

在HashMap中进行部分搜索

我需要创建电话簿类的东西.它包含姓名和号码.现在当我键入字母时,应该返回匹配列表.对于下面给出的示例,当我键入H时,应返回包含Harmer,Harris,Hawken,Hosler的列表.当输入Ha然后列出只包含Harmer,Harris,Hawken的列表应该返回.

  Map<String, String> nameNum = new HashMap<String, String>();

  nameNum.put("Brown", "+1236389023");
  nameNum.put("Bob", "+1236389023");
  nameNum.put("Harmer", "+1236389023");
  nameNum.put("Harris", "+1236389023");
  nameNum.put("Hawken", "+1236389023");
  nameNum.put("Hosler", "+1236389023");
Run Code Online (Sandbox Code Playgroud)

任何想法如何实现呢?提前致谢.

java filtering map

27
推荐指数
2
解决办法
2万
查看次数

Guava如何在CacheBuilder中过期?

我想使用CacheBuilder,如下所示:

带有过期密钥的基于Java时间的映射/缓存

但是我不明白Guava知道什么时候到期.

番石榴是如何做到的,它会带来什么样的性能成本?

java collections caching map guava

27
推荐指数
1
解决办法
1万
查看次数