标签: map

F#NameValueCollection to Map

我有一个NameValueCollection,我需要将其转换为Map,我无法解决它.我试过了:

let headerMap (m : MailMessage) = m.Headers |> Map.map (fun k v -> v.[k])
Run Code Online (Sandbox Code Playgroud)

我需要使用Seq.map吗?

基本上,我要将System.Net.MailMessage中的头文件序列化为JSON.

f# json map namevaluecollection mailmessage

0
推荐指数
2
解决办法
529
查看次数

确保每个Hashmap存储桶/插槽一个值

有没有一种方法可以严格确保每个Hashmap存储桶中的条目数,而又不会破坏object.hashcode()Java中的功能?

负载因子是平均值:(条目数)/(桶数)。本质上,假设我有一个容量为1000的Hashmap。为便于说明,在本示例中,我将负载因子设为1。要存储在HashMap中的100个对象具有错误的哈希码函数,这些函数始终返回每个对象都具有相同的值。当我完成100个对象的存储后,它们将全部映射到同一HashMap存储桶,最终我获得了LinkedList性能。负载因数将保持沉默,因为100个条目/ 1000个存储桶= 0.1 <1。现在,如果我放入1 M个相同的对象,会发生什么。HashMap将永远不会被调整大小(无论如何都不会使用),因为LF将永远不会被触发。

我知道这是现实世界中不常见的情况,但我想增进我的理解。HashMap中是否有一种方法可以防止这种情况发生,或者至少可以从结构本身中得到一些警告?

java collections hashmap map

0
推荐指数
1
解决办法
1053
查看次数

在Java中使用Maps时出现意外/未定义的结果

我正在做一些尝试推荐文档的工作,为此我使用了Cosine Similarity方法.以下是该方法的代码:

static double cosineSimilarity(HashMap<String, Double> v1, HashMap<String, Double> v2) 
{
    Set<String> both = v1.keySet();
    both.retainAll(v2.keySet());
    double sclar = 0, norm1 = 0, norm2 = 0;
    for (String k : both) 
    {
      sclar += v1.get(k) * v2.get(k);
    }
    for (String k : v1.keySet())
    {
      norm1 += v1.get(k) * v1.get(k);
    }
    for (String k : v2.keySet()) 
    {
      norm2 += v2.get(k) * v2.get(k);
    }
    return sclar / Math.sqrt(norm1 * norm2);
}
Run Code Online (Sandbox Code Playgroud)

问题是结果取决于参数传递的顺序.例如,如果我调用cosineSimilarity(v1, v2)它将返回0.3但如果我调用cosineSimilarity(v2, v1)它将返回一个完全不同的值.

我认为这与Map.keySet() …

java map set keyset cosine-similarity

0
推荐指数
1
解决办法
325
查看次数

什么时候分配新的内存?

我有以下程序:

#include<iostream>
#include<map>

using namespace std;

int  *ar;

int main(int argc, const char *argv[])
{
    int N,i;
    map <int , int> W;
    ar = new int[N+1];
    cin >> N;
    for (i = 1; i <= N; i++) {
        cin >> ar[i];
    }
    W[ar[N]]= -1;   
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

我给以下输入程序:

6

1 1 2 2 3 4
Run Code Online (Sandbox Code Playgroud)

如果我使用g ++ -O选项编译上面的代码(没有优化),我会在行中获得segabrt

W[ar[N]]= -1;
Run Code Online (Sandbox Code Playgroud)

两个问题:

  1. 是不是ar []没有被新分配的内存?如果我用一些常数值替换该行,我会得到相同的错误.

    W[4] = -1;
    
    Run Code Online (Sandbox Code Playgroud)
  2. 地图需要某种初始化吗?它通常无需初始化即可工作.

c++ memory-management map new-operator

0
推荐指数
1
解决办法
100
查看次数

包含std :: function <T()>和std :: function <T(int)>的map

我想要一个映射将字符串键映射到a std::function<T()>std::function<T(int)>(但不是两个都给定键)的映射.我得到一个编译错误,似乎没有模板std::function<T(...)>.我希望能够使用lambdas作为值.

首先,以这种方式存储功能是否安全?其次,如果是这样,语法是什么?(当从地图中检索到函数时,函数是一元函数还是无效函数.)如果不是上述函数,那么什么是合理的替代方案?指针杀死了lambda的想法,对...

C++ 11没问题.

c++ stdmap map c++11 std-function

0
推荐指数
1
解决办法
1657
查看次数

Scala迭代元组映射

我有一个键值对的映射,我试图获取给定一个键的值,但是虽然它返回一个值,但它有一些,任何想法我怎么能摆脱它?我的代码是:

val jsonmap = simple.split(",\"").toList.map(x => x.split("\":")).map(x => Tuple2(x(0), x(1))).toMap
val text = jsonmap.get("text")
Run Code Online (Sandbox Code Playgroud)

如果"text"是键,我想要它映射到的值,我目前得到以下输出:

Some("4everevercom")    
Run Code Online (Sandbox Code Playgroud)

我尝试使用flatMap而不是Map,但它也不起作用

iterator scala list map

0
推荐指数
1
解决办法
406
查看次数

如何从Java中的Map <String,String []>获取String值?

基本上,我有一个Map<String, String[] >包含一串键的字符串.如果我这样做String value = myMap.get("keyName");,这将返回一个Object而不是一个字符串,并回显它产生这样的东西:Ljava.lang.String;@1dfa166.做toString()也没有帮助.

要将值作为字符串,我需要做什么:

我的代码看起来像这样:

String value ="" + request().body().asFormUrlEncoded().get("keyName");
Run Code Online (Sandbox Code Playgroud)

这里的asFormUrlEncoded()方法是返回的Map

java collections map

0
推荐指数
1
解决办法
9120
查看次数

Haskell IO反向字符串输入

我一直收到错误:无法将预期类型'Bool'与实际类型'[t0]'匹配.我正在尝试获取字符串的用户输入,然后以反向ORDER输出许多字符串.

输入示例:

HI1
HI2
Run Code Online (Sandbox Code Playgroud)

示例输出:

HI2
HI1
Run Code Online (Sandbox Code Playgroud)

我的代码:

    Back :: Int -> IO()
    Back x = do line <- sequence_[getLine|[1..x]]
                     mapM_ print (reverse line)
Run Code Online (Sandbox Code Playgroud)

io haskell map sequence

0
推荐指数
1
解决办法
837
查看次数

如何在没有副本的独特向量中传递小向量的集合

我有一个map<T,vector<double> >,说T=char的值vector<double>length<n发言权n=5.我想将每个vector<double>从地图转移到一个vector<double>有长度的大n*mapsize,每个向量插入索引5*k.如果可能,所有这些都不需要复

#include <vector>
#include <map>
using namespace std;
int main()
{
    typedef vector<double> Vec;
    typedef map<char, vector<double> >::iterator ItMap;

    //create a map<char,vector<double>> with 2 keys holding resp 2-3 elem vectors
    double v_value[] = {1.1,2.4};
    Vec v(v_value, v_value + sizeof(v_value)/sizeof(double));
    map<char,vector<double> > myMap;
    myMap['A'] = v;
    v.push_back(10);
    myMap['B'] = v;

    //create the vector that should get all the small vectors
    Vec receipt; …
Run Code Online (Sandbox Code Playgroud)

c++ stl map

0
推荐指数
1
解决办法
191
查看次数

地图内部结构的分段错误

我正在创建一个包含map的结构,但是当我尝试插入一个元素时,它会抛出分段错误

#include<stdio.h>
#include<stdlib.h>
#include<map>
using namespace std;
typedef struct a
{
    map<int,int> m;
}a;
int main()
{
    a* b;
    b=(a*) malloc(sizeof(a));
    b->m[0]=0;

 }
Run Code Online (Sandbox Code Playgroud)

c++ struct map

0
推荐指数
1
解决办法
418
查看次数