标签: linkedhashmap

Perl中的LinkedHashMap

在Perl中是否有类似于LinkedHashMap的数据结构?

或Perl中的LRU数据结构

更新:@TLP基本上我想要Hashtable数据结构,但我也可以保持键的顺序进入,在我处理列表中的键后删除键.

更新:@ccheneson Tie :: IxHash似乎不是我想要的,我想POP一个最旧的键,但tie :: ixHash弹出最新的键,我如何获得Tie :: IxHash中最旧的键值对?我想要一个队列结构(和哈希结构,我想以最简单的方式找到密钥),新密钥,值对继续进入,我保持进程最旧的密钥并删除最旧的密钥.

更新:@ FMc Tie :: IxHash是我需要的,Tie :: IxHash-> Shift()执行队列弹出Tie :: IxHash-> Push()执行队列推送,它是哈希结构,易于查找键.

谢谢大家.

java perl linkedhashmap lru

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

LinkHashMap/LinkedHashSet中的迭代排序如何导致性能低于HashMap

由于LinkedHashMap/Set保持Collection中的条目顺序,因此它会导致性能稍低.我想知道为什么会这样.

java collections linkedhashmap linkedhashset

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

如何在JSP中的LinkedHashMap中执行foreach循环?

我对jsp没有多少经验.在java中我能做到,但打开一个块<%%>并不好

java foreach jsp linkedhashmap

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

在Android中的LinkedHashMap中打印所有键

LinkedHashMap我的代码中有一个:

 protected LinkedHashMap<String, String> profileMap;
Run Code Online (Sandbox Code Playgroud)

我想要打印出来的所有按键profileMap.如何使用Iterator或循环?

java android hashmap linkedhashmap

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

Java - 如何从LinkedHashMap中获取一对?

具体来说,我想在"for each"循环中使用LinkedHashMap.例如,假设我创建了LinkedHashMap:

LinkedHashMap<String, Integer> someHash = new LinkedHashMap<String, Integer>();
Run Code Online (Sandbox Code Playgroud)

然后我填写一些东西:

someHash.put("One", new Integer(1));
someHash.put("Two", new Integer(2));
Run Code Online (Sandbox Code Playgroud)

现在我怎么能够通过并获得每一对?我想要的东西是:

for(<String, Integer> pair : someHash)
{
    //Do stuff.
}
Run Code Online (Sandbox Code Playgroud)

但当然这不起作用.有没有一种简单的方法从哈希中检索"对"对象?或者我只需要遍历长度并分别获取值和键?另外,如果是这种情况,我真的应该使用不同的对象吗?

java key-value linkedhashmap

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

我可以删除LinkedHashMap <>中的条目数组,而不是单个条目的单个条目吗?

LinkedHashMap<>在我的Android应用程序和问题中使用我想立即删除它中的几个条目.在Objective-C中有一个方法removeObjectsForKeys接受键的数组并删除与该数组中的键相对应的条目 - 是否有类似的东西在Java?或者我只能使用remove(Object key)和删除单个键的单个条目?

java linkedhashmap

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

如何从LinkedHashMap迭代器获取键值对?

我测试SnakeYAML库来读取.yaml文档.我看过例2.27.来自http://yaml.org/spec/1.1/的发票,我得到了对象:

System.out.println(content);
Yaml yaml = new Yaml();
Object o = yaml.load(content);
Run Code Online (Sandbox Code Playgroud)

其中content是使用Files.readAllBytes从文件加载的String,encoding.decode(编码是StandardCharsets.UTF_8)

反射让我觉得o是java.util.LinkedHashMap的类型,我可以迭代它们:

Set entrySet = o.entrySet();
Iterator it = entrySet.iterator();
System.out.println("LinkedHashMap entries : ");
while (it.hasNext())
{
    Object entry = it.next();
    System.out.println(entry);
}
Run Code Online (Sandbox Code Playgroud)

反射返回该类型的条目是LinkedHashMap $ Entry.但问题是:内部类LinkedHashMap $ Entry是私有的,我不能声明这种类型的对象.如何从入口,迭代器或entrSet中获取对?

java iterator linkedhashmap

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

如何通过LinkedHashMap迭代到第x个元素?

将LinkedHashMap迭代到第x个元素的最佳方法是什么?

for (Entry<String, Integer> entry : existingFile.entrySet() )
            {

                builder.append("{" + entry.getKey() + "," + entry.getValue() + "}   ");

            }
Run Code Online (Sandbox Code Playgroud)

这遍历所有元素,我怎么能阻止它在第5个元素?

java linkedhashmap

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

为什么系统会自动将LinkedHashMap转换为HashMap,同时将其作为Serializable传递给Intent?

我正进入(状态

java.lang.ClassCastException: java.util.HashMap cannot be cast to java.util.LinkedHashMap
Run Code Online (Sandbox Code Playgroud)

LinkedHashMap<String, String> dataHashMap = (LinkedHashMap<String, String>) intent.getSerializableExtra("tests.test.MyApp.A.EXTRA_KEY");活动B的代码(相关部分)中.


  1. 在片段A中,我有以下检查:

    Log.i(TAG, "THE TYPE OF THE MAP RETURNED FROM populateSelectedEntryList(selectedResultEntry) IS " + 
    populateSelectedEntryList(selectedResultEntry).getClass().getSimpleName()
    + ".");//******PRINTS LinkedHashMap**********************
    
    Run Code Online (Sandbox Code Playgroud)

打印LinkedHashMap.

  1. 在活动B中,我有以下检查:

    LinkedHashMap<String, String> dataHashMap = (LinkedHashMap<String, String>)intent.getSerializableExtra("tests.test.MyApp.A.EXTRA_KEY");//**********ClassCastException*****************
    
    Run Code Online (Sandbox Code Playgroud)

    打印HashMap.


问题是为什么?为什么系统将LinkedHashMap转换为HashMap.当作为Serializable在intent中传递LinkedHashMap时,如何强制LinkedHashMap继续成为LinkedHashMap?

相关部分代码:

在片段A中,

public class A extends Fragment {
  ...

  public void onListItemClick(...) { 
    Intent intent = new Intent(getActivity(), B.class);
    ...
    intent.putExtra("tests.test.MyApp.A.EXTRA_KEY", populateSelectedEntryList(selectedResultEntry));
    Log.i(TAG, "THE TYPE OF THE MAP RETURNED …
Run Code Online (Sandbox Code Playgroud)

java android classcastexception linkedhashmap android-intent

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

Java中不区分大小写的映射

我有一个写入文本文件的代码,然后打印出在文本文件中找到每个单词的次数。它工作正常,但不区分大小写。而且我被卡住了。您能否提出建议?

    Map<String, Integer> map = new LinkedHashMap<>();
    for (String w : data) {
        Integer n = map.get(w.);
        n = (n == null) ? 1 : ++n;
        map.put(w, n);
    }
    System.out.println(map);
Run Code Online (Sandbox Code Playgroud)

这是代码。感谢您的时间。

java for-loop case-insensitive linkedhashmap

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