在遍历ArrayList,HashMap和其他集合时,是否有任何性能测试结果可用于比较传统的for循环与Iterator?
或者我为什么要使用Iterator for循环,反之亦然?
我想知道Java如何在Map(HashMap或Hashtable)添加项目时订购项目.键是由哈希码,内存引用还是按分配优先级排序的?
这是因为我注意到它们中的相同对Map并不总是在同一个顺序中
R中有很多包用于各种空间分析.这可以在CRAN任务视图中看到:空间数据分析.这些软件包数量众多且各种各样,但我想做的只是一些简单的专题图.我有县和州FIPS代码的数据,我有县和州边界的ESRI形状文件和随附的FIPS代码,允许加入数据.如果需要,形状文件可以很容易地转换为其他格式.
那么用R创建专题地图最直接的方法是什么?
这张地图看起来像是用ESRI Arc产品创建的,但这是我想用R做的事情:
alt text http://www.infousagov.com/images/choro.jpg 从这里复制的地图.
刚才我很惊讶地发现了mapValues一个视图.结果如下例所示:
case class thing(id: Int)
val rand = new java.util.Random
val distribution = Map(thing(0) -> 0.5, thing(1) -> 0.5)
val perturbed = distribution mapValues { _ + 0.1 * rand.nextGaussian }
val sumProbs = perturbed.map{_._2}.sum
val newDistribution = perturbed mapValues { _ / sumProbs }
Run Code Online (Sandbox Code Playgroud)
我的想法是,我有一个分布,它有一些随机性,然后我重新规范它.代码实际上失败了它的初衷:因为mapValues生成a view,_ + 0.1 * rand.nextGaussian总是在perturbed使用时重新评估.
我现在正在做类似的事情distribution map { case (s, p) => (s, p + 0.1 * rand.nextGaussian) },但这只是一点点冗长.所以这个问题的目的是:
mapValues输出 …我在春天定义了一张地图:
<util:map id="AdditionalParams" scope="prototype" map-class="java.util.HashMap"
key-type="java.lang.String" value-type="java.lang.String">
<entry key="Start" value="12345" />
<entry key="Finish" value="12365" />
</util:map>
Run Code Online (Sandbox Code Playgroud)
然后我将这个bean自动装配到一个定义为:
private @Autowired @Qualifier(value = "AdditionalParams") Map<String, String> additionalParams;
Run Code Online (Sandbox Code Playgroud)
执行此操作时,会抛出一个异常,说:
引起:org.springframework.beans.factory.BeanCreationException:创建名为'DutyCreator'的bean时出错:注入自动连接的依赖项失败; 嵌套异常是org.springframework.beans.factory.BeanCreationException:无法自动装配字段:private java.util.Map DutyCreator.additionalParams; 嵌套异常是org.springframework.beans.factory.NoSuchBeanDefinitionException:[java.lang.String中]找到的依赖性[地图值java.lang.String类型]无类型的匹配豆:预期至少1豆,其有资格作为候选自动装配对于这种依赖.依赖注释:{@ org.springframework.beans.factory.annotation.Autowired(required = true),@ org.springframework.beans.factory.annotation.Qualifier(value = AdditionalParams)}
引起:org.springframework.beans.factory.NoSuchBeanDefinitionException:没有找到类型为[java.lang.String]的匹配bean为依赖[map with value type java.lang.String]:期望至少有一个bean有资格作为autowire候选者对于这种依赖.依赖注释:{@ org.springframework.beans.factory.annotation.Autowired(required = true),@ org.springframework.beans.factory.annotation.Qualifier(value = AdditionalParams)}
有任何想法吗?
干杯.
我有一个递归函数,它创建表示文件路径的对象(键是路径,值是关于文件的信息).它是递归的,因为它仅用于处理文件,因此如果遇到目录,则在目录上递归调用该函数.
所有这一切,我想在两个地图上做相当于集合的联合(即用递归调用的值更新的"主"地图).除了迭代一个地图并将每个键,其中的值分配给另一个地图中的相同内容之外,还有一种惯用的方法吗?
即:给定a,b的类型map [string] *SomeObject,以及a和b最终被填充,有没有什么办法来更新a与所有的值b?
给定以下代码,使用两种替代方法来迭代它,
这两种方法之间是否有任何性能差异?
Map<String, Integer> map = new HashMap<String, Integer>();
//populate map
//alt. #1
for (String key : map.keySet())
{
Integer value = map.get(key);
//use key and value
}
//alt. #2
for (Map.Entry<String, Integer> entry : map.entrySet())
{
String key = entry.getKey();
Integer value = entry.getValue();
//use key and value
}
Run Code Online (Sandbox Code Playgroud)
我倾向于认为这alt. #2是迭代整个过程的更有效方法map(但我可能是错的)
我想在javascript中创建一个字典,如下所示:
myMappings = [
{ "Name":10%},
{ "Phone":10%},
{ "Address":50%},
{ "Zip":10%},
{ "Comments":20%}
]
Run Code Online (Sandbox Code Playgroud)
我想稍后填充一个html表,并希望将表的标题设置为myMappings的第一列,将列的宽度设置为第二列.因为我是JS的新手,无法找到干净的方式.有人会建议吗?
谢谢
map ×10
java ×4
c++ ×2
hashmap ×2
iterator ×2
arraylist ×1
dictionary ×1
for-loop ×1
geolocation ×1
geospatial ×1
go ×1
hashcode ×1
hashtable ×1
iteration ×1
javascript ×1
performance ×1
r ×1
scala ×1
spring ×1
stdmap ×1
union ×1