标签: map

从Map中找到前100个元素的最有效方法

我一直在使用这种方法从Map中获取前100个元素.有谁知道番石榴是如何实现这些的?

    Ordering<String> valueComparator = 
       Ordering.natural().onResultOf(
         Functions.forMap(WordCounts)).compound(Ordering.natural());

    ImmutableSortedMap<String, Integer> SortedWordCounts = 
      ImmutableSortedMap.copyOf(WordCounts, 
        Collections.reverseOrder(valueComparator));
    Map<String, Integer> TopWordCounts = 
    SortedWordCounts.headMap(SortedWordCounts.keySet().asList().
         get(100));
Run Code Online (Sandbox Code Playgroud)

我在这里没有看到太多细节 http://guava-libraries.googlecode.com/svn/trunk/gwt-javadoc/com/google/common/collect/ImmutableSortedMap.html

我正在考虑这是否效率低,是否应该使用像http://en.wikipedia.org/wiki/Selection_algorithm#Linear_general_selection_algorithm_-_Median_of_Medians_algorithm这样的顶级k算法 运行这样的算法我必须转换映射到数组,然后可能回到地图,这让我觉得它可能不值得.

java sorting performance map guava

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

点按并按住以添加pin google maps api ios

我想点击并按住map以添加引脚google maps api.这是一些教程IOS吗?

GMSMarker *marker;

google-maps map ios

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

如何查看java映射包含的数据类型?

我在一些java代码中有一个通用映射,对于特定字段,可以包含String或Array,但我对Java很新,我不太清楚如何区分这两者.

我目前的想法是编写一个带有重载方法的类,它将使用两种数据类型执行不同的操作,但我真正想要做的是使用类似于typeofjavascript来控制if语句,而不是创建一个整体新课.

Java中有这样的东西吗?还有更好的方法吗?我从无法控制的代码中获取数组,因此更改地图不是一种选择.

java map

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

为什么我没有获得密钥复制的运行时异常?

HashMap命名map我复制,keys但我仍然没有得到密钥复制的任何运行时异常.为什么会这样?

地图数据结构不能具有重复键.

import java.util.*;

class KeyTest {
    public static void main(String args[]) {
        Map<String,String> map = new HashMap<String,String>();
        map.put("key-1","val");
        map.put("key-1","val");
        map.put("key-1","val");
        map.put("key-1","val");
        map.put("key-1","val");
    }
}
Run Code Online (Sandbox Code Playgroud)

java key map

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

如何避免Java中的重复字符串?

我希望能够将文本中的特定单词添加到矢量中.现在的问题是我想避免添加重复的字符串.我想到的第一件事是在添加它们之前比较所有字符串,随着条目数量的增加,这成为非常低效的解决方案.我能想到的唯一"时间效率"解决方案是unordered_multimap包含在C++ 11中的容器.我找不到Java的等价物.我想在地图上添加字符串,最后只是将所有条目复制到向量中,这样会比第一个解决方案更有效.现在我想知道是否有任何Java库可以满足我的需求?如果没有,我在Java中找不到任何C++ unordered_multimap容器,我找不到?

java string containers map

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

多态性:将子类分配给超类

两者都一样吗?

ParentClass object=new ChildClass();

ParentClass object = (ParentClass) new ChildClass();
Run Code Online (Sandbox Code Playgroud)

如果我想创建一个将字符串映射到Children Objects的地图

"dog"->childA;
"cat"->childB
Run Code Online (Sandbox Code Playgroud)

我该如何申报地图?

Map<String,Parent>
or
Mpa<String,T extends Parent>
Run Code Online (Sandbox Code Playgroud)

我不确定第二个是否正确,但我在某处读到了

java generics polymorphism map

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

clojure merge-with删除不常见的键

(def data {"Bob"    {"A" 3.5  "B" 4.5 "C" 2.0}
           "Jane"   {"A" 2.0  "B" 1.5 "D" 4.0}})
Run Code Online (Sandbox Code Playgroud)

调用

(merge-with + (data "Bob") (data "Jane"))
Run Code Online (Sandbox Code Playgroud)

产生

 {"A" 5.5, "B" 6.0, "C" 2.0 "D" 4.0}
Run Code Online (Sandbox Code Playgroud)

我只想创建一个合并的地图,但仅限于公共密钥.我正在寻找的结果是

   {"A" 5.5, "B" 6.0}
Run Code Online (Sandbox Code Playgroud)

在clojure中这样做的好方法是什么?

clojure map

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

如何调用使用Reflection接受Map作为输入参数的私有方法?

我试图使用反射在我的一个类中调用一个私有方法,它也接受一个Map参数.

下面是我应该调用的方法,下面的方法是ReflectionTest:

private static Map<String, String> storageSort(final List<Map<String, String>> employeeList) {

}
Run Code Online (Sandbox Code Playgroud)

我这样调用上面的方法:

ReflectionTest io = new ReflectionTest();
Method m = ReflectionTest.class.getDeclaredMethod("storageSort", Map.class);
m.setAccessible(true); 
Object o = m.invoke(io, sortList);
Run Code Online (Sandbox Code Playgroud)

但以下是我每次都会得到的例外情况:

java.lang.NoSuchMethodException:com.reflection.test.ReflectionTest.storageSort(java.util.Map)

我不确定我在这里做错了什么?

java reflection map

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

多变量javascript

我想为我的地图添加多个属性,但一次只能使用一个属性:

var map = L.map('map', {zoomControl: false}, {dragging: false})
Run Code Online (Sandbox Code Playgroud)

这不起作用.我不知道Javascript,所以它可能只是一个语法错误.

javascript syntax map leaflet

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

使用指向STL映射的操作

我需要知道两个指向STL映射的指针之间的区别

例如:使用矢量很简单

vector<pair<int, int> > v;
v.push_back(make_pair(0, 1));
v.push_back(make_pair(2, 3));
v.push_back(make_pair(4, 5));
v.push_back(make_pair(6, 7));
v.push_back(make_pair(8, 9));

vector<pair<int, int> >::iterator itrBegin = v.begin();
vector<pair<int, int> >::iterator itrEnd = v.end();

cout << itrEnd - itrBegin << endl;
Run Code Online (Sandbox Code Playgroud)

产量 5

但是,我想使用STL映射执行相同的操作

map<int, int> m;
m[0] = 1;
m[2] = 3;
m[4] = 5;
m[6] = 7;
m[8] = 9;

map<int, int>::iterator itrB = m.begin();
map<int, int>::iterator itrE = m.end();

cout << ????????????? << endl;
Run Code Online (Sandbox Code Playgroud)

c++ pointers map

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