标签: linkedhashmap

如何获取LinkedHashMap的keyIterator?

通过查看Sun的LinkedHashMaps的源代码,我看到有一个名为KeyIterator的私有类,我想使用它.我怎样才能获得访问权限?

java iterator linkedhashmap

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

如何反向遍历链接哈希映射?

可能重复:
以相反的顺序迭代LinkedHashMap

如何以相反的顺序遍历链接的哈希映射?地图中是否有任何预定义方法可以做到这一点?

我正在创建它如下:

LinkedHashMap<Integer, String> map = new LinkedHashMap<Integer,String>();
map.put(1, "one");
map.put(2, "two");
map.put(3, "three");
Run Code Online (Sandbox Code Playgroud)

java reverse linkedhashmap

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

为什么LinkedHashMap不提供索引访问?

来自Javadoc:
Hash table and linked list implementation of the Map interface, with predictable iteration order. This implementation differs from HashMap in that it maintains a doubly-linked list running through all of its entries.

如果是这样,那么为什么它不提供像java中的List那样的对象访问,list.get(index);

UPDATE

我使用LinkedHashMap实现了LRU Cache.我的算法要求我从缓存中访问LRU对象.这就是我需要随机访问的原因,但我认为这会让我失去性能,所以我改变了逻辑,我正在访问LRU对象就在Cache已满时...使用removeEldestEntry()

谢谢你们...

java linkedhashmap

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

LinkedHashMap LIFO还是FIFO?

LinkedHashMap是LIFO还是FIFO的性质?如果我的地图是形式 - >

map.put(1,"one");
map.put(2,"two");
Run Code Online (Sandbox Code Playgroud)

如果我要使用keyset在地图上迭代,那将是什么命令?

编辑:我认为我确实混淆了两个不同的概念.我重新解释了这个问题.我使用entryset遇到数量的顺序是什么?感谢指出btw.i donot打算删除任何条目.

java fifo linkedhashmap data-structures

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

获取linkedhashmap的第一项

我正在使用链接的hashmap.我将始终处理第一个值并且可以删除(如果可能),以便在下一次迭代期间,我将再次从地图中获取相同的第一个值来处理.我可以用什么来获得第一个值.

java collections linkedhashmap

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

在C++中等效的LinkedHashmap?

我有一个Java程序,我想将其转换为C++.因此,LinkedhashmapJava代码中使用了一种数据结构,我想将其转换为C++.LinkedHashmapC++中是否有等效的数据类型?

我尝试使用std::unordered_map它,但它不保持插入的顺序.

c++ unordered-map linkedhashmap

10
推荐指数
1
解决办法
5110
查看次数

如何从方法Collectors.groupingBy获取有序类型的Map

我需要按类型将数据列表分成不同的列表,为此我使用构造

Map<String,List<Dish>> dishMap = menu.stream()  
         .collect(Collectors.groupingBy(Dish::getType));
Run Code Online (Sandbox Code Playgroud)

但是如何从方法"Collectors.groupingBy"获取LinkedHashMap而不是HashMap.我在javadoc中找到了一些数据但是我不能得到我必须用这个方法做的事情:

Map<String,List<Dish>> dishMap = menu.stream().collect(Collectors.groupingBy(
                Dish::getType,
                LinkedHashMap::new, ????));
Run Code Online (Sandbox Code Playgroud)

我应该在方法"groupingBy"的第三个参数中放置什么才能得到我需要的东西?

java grouping linkedhashmap java-8 collectors

10
推荐指数
1
解决办法
4546
查看次数

LinkedHashMap签名

查看LinkedHashMap的JDK源代码,我注意到这个类被声明为:

 public class LinkedHashMap<K,V>
       extends HashMap<K,V>
       implements Map<K,V>
   {...
Run Code Online (Sandbox Code Playgroud)

为什么冗余的" implements Map<K,V>"(因为HashMap已经实现了Map)?我无法想象这是一个错字......

谢谢.

java collections linkedhashmap

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

从LinkedHashMap转换为Json String

我正在使用Jongo与Mongo合作,当我进行查询时,我收到了LinkedHashMap作为结果.

        Iterator one = (Iterator) friends.find(query).projection("{_id:0}").as(Object.class);
        while (one.hasNext()) {
            LinkedHashMap data= new LinkedHashMap();

            data= (LinkedHashMap) one.next();
            String content=data.toString();
        }
Run Code Online (Sandbox Code Playgroud)

问题是如果json是{"user":"something"}内容将是{user = something},那么json只是来自HashMap的toString方法.

我怎么能得到原始的JSON?

我没有一个类映射响应,它不是一个解决方案创建一个map类,这就是我使用Object.class的原因.

java json linkedhashmap mongodb

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

使用 Collectors.toMap 返回 LinkedHashMap

我该如何转换:

return this.subjects.entrySet()
            .stream()
            .collect(Collectors.toMap(e -> getArtistryCopy(e.getKey()), Map.Entry::getValue));
Run Code Online (Sandbox Code Playgroud)

要返回 LinkedHashMap 而不是地图?

如果您需要知道,this.subjects是一个LinkedHashMap<AbstractArtistries, ArrayList<AbstractCommand>>. AbstractArtistry 和 command 是我制作的两个自定义对象。我需要维持秩序。

getArtistryCopy() 返回 AbstractArtistry 的副本(这是关键)。

java linkedhashmap collectors

9
推荐指数
1
解决办法
5252
查看次数