标签: map

将<Map <String,Object >>列出到org.json.JSONObject?

List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
Map<String, Object> map = new HashMap<String, Object>();

map.put("abc", "123456");
map.put("def", "hmm");
list.add(map);
JSONObject json = new JSONObject(list);
try {
    System.err.println(json.toString(2));
} catch (JSONException e) {
    e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)

这段代码出了什么问题?

输出是:

{"empty": false}
Run Code Online (Sandbox Code Playgroud)

java json map javabeans

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

Perl中的grep和map有什么区别?

在Perl中grep,map取一个表达式和一个列表,并计算列表中每个元素的表达式.

两者有什么区别?

perl grep map

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

如何从java.util.Map转换为Scala Map

Java API返回一个java.util.Map<java.lang.String,java.lang.Boolean>;.我想把它变成一个Map[String,Boolean]

所以想象我们有:

var scalaMap : Map[String,Boolean] = Map.empty
val javaMap = new JavaClass().map()   // Returns java.util.Map<java.lang.String,java.lang.Boolean>
Run Code Online (Sandbox Code Playgroud)

你做不到Map.empty ++ javaMap,因为++方法不了解Java地图.我试过了:

scalaMap = Map.empty ++ new collection.jcl.MapWrapper[String,Boolean] {
    override def underlying = javaMap
}
Run Code Online (Sandbox Code Playgroud)

和:

scalaMap = Map.empty ++ new collection.jcl.MapWrapper[java.lang.String,java.lang.Boolean] {
    override def underlying = javaMap
  }
Run Code Online (Sandbox Code Playgroud)

这些都无法编译,因为泛型 - java.lang.String与scala String不同.

有没有一种好方法可以做到这一点,而不是手动复制地图?

编辑:谢谢,所有好的答案,我从他们所有人那里学到了很多东西.但是,我在这里发布一个比我实际拥有的更简单的问题犯了一个错误.所以,如果你允许我,我会概括一个问题 - API实际返回的是什么

java.util.Map<java.lang.String, java.util.Map<SomeJavaEnum,java.lang.String>>
Run Code Online (Sandbox Code Playgroud)

我需要将其移动到Map [String,Map [SomeJavaEnum,String]]

它似乎不太复杂,但它增加了额外级别的类型擦除,我发现将其移动到Scala地图的唯一方法是深度复制它(使用下面建议的一些技术) .任何提示?我通过为我的确切类型定义一个隐式转换来解决我的问题,所以至少丑陋隐藏在它自己的特性中,但仍然感觉有点笨拙的深层复制.

scala map language-interoperability scala-collections

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

C++:是否可以使用引用作为地图中的值?

是否可以在C++中使用引用作为标准映射容器中的值?
如果没有 - 为什么不呢?

示例声明:

map<int, SomeStruct&> map_num_to_struct;
Run Code Online (Sandbox Code Playgroud)

用法示例:

...
SomeStruct* some_struct = new SomeStruct();
map_num_to_struct[3] = *some_struct;
map_num_to_struct[3].some_field = 14.3;
cout<<some_struct.some_field;
...
Run Code Online (Sandbox Code Playgroud)

我希望看到14.3印刷......

c++ reference map

14
推荐指数
3
解决办法
7524
查看次数

如何在初始化时定义Map内容?

我只是想知道是否可以在初始化时定义Map对象的内容.

例如,可以创建一个数组,如下所示:

new String[] {“apples”, “bananas”, “pears”}
Run Code Online (Sandbox Code Playgroud)

所以,我想知道我们能为地图做些类似的事情.

java collections initialization map

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

用于字节数组的Java Comparator(字典)

我有一个带有byte []键的hashmap.我想通过TreeMap对其进行排序.

为字典顺序执行比较器的最有效方法是什么?

java sorting collections compare map

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

Scala类型不匹配问题(预期Map,找到scala.collection.mutable.HashMap)

我仍然是一个新手Scala程序员,很抱歉,如果这个问题可能看起来很幼稚,但我搜索了一段时间后发现没有解决方案.我使用的是Scala 2.8,我将PXGivenZ类定义为:

class PXGivenZ (val x:Int, val z:Seq[Int], val values: Map[Seq[Int], Map[Int, Double]] ){...}
Run Code Online (Sandbox Code Playgroud)

当我尝试将该类的元素实例化为另一个程序块时,如下所示:

// x is an Int
// z is a LinkedList of Int
...
var zMap = new HashMap[Seq[Int], HashMap[Int, Double]]
...
val pxgivenz = new PXGivenZ(x, z, zMap)
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

found   : scala.collection.mutable.HashMap[Seq[Int],scala.collection.mutable.HashMap[Int,Double]]
 required: Map[Seq[Int],Map[Int,Double]]
           val pxgivenz = new PXGivenZ(x, z, zMap) 
                                             ^
Run Code Online (Sandbox Code Playgroud)

显然我没有得到:Map [Seq [Int],Map [Int,Double]]与HashMap [Seq [Int],HashMap [Int,Double]]的不同之处是什么?或者"可变"课程出了什么问题?

在此先感谢能帮助我的人!

types scala map mismatch

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

多图与地图集

我想知道哪个更有效率.

std::map< String, std::set<int> >
Run Code Online (Sandbox Code Playgroud)

要么

std::multimap< String, int >
Run Code Online (Sandbox Code Playgroud)

编辑: 我不打算用这些地图做任何与众不同的事情.标准插入,删除,修改,搜索.每个集合或多键字符串的大小不应超过100.

c++ std map set multimap

14
推荐指数
3
解决办法
5036
查看次数

具有有限元素的FIFO映射

我需要a HashMap或simpy a Map,其中固定数量的元素(n)像FIFO队列一样工作.

因此,在元素编号<= n之前,新元素只需放入地图中.

对于元素编号> n,将删除第一个插入的元素,并将最新的元素放入地图中.

Java中有类似的东西,还是我必须实现它?

java queue collections map fifo

14
推荐指数
1
解决办法
8430
查看次数

如何在C++ 11中编写地图文字?

在Python中,我可以像这样写一个地图文字:

mymap = {"one" : 1, "two" : 2, "three" : 3}
Run Code Online (Sandbox Code Playgroud)

如何在C++ 11中完成等效操作?

c++ map literals c++11

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