当前位置: 首页 > 知识库问答 >
问题:

如何从哈希映射返回键值列表

安高义
2023-03-14

输入是一个哈希映射,比如

HashMap<String, String> hashmap = new HashMap<String, String>();

for (Map.Entry<String, String> entry : hashmap.entrySet()) {
            String key = entry.getKey();
            Object value = entry.getValue();
}

我想写一个方法,返回类型A的列表,其中有键,值属性与字符串类型,和键值从hashmap。

如何让它成为现实?

共有2个答案

席俊驰
2023-03-14
List<A> listOfA= new ArrayList<>();
for (Map.Entry<String, String> entry : hashmap.entrySet()) {
            String key = entry.getKey();
            String value = entry.getValue();
            A aClass = new A(key, value);
            listOfA.add(aClass);
}
return listOfA;
池照
2023-03-14

如果您使用的是Java 8,则可以执行以下操作:

List<Entry<String, String>> list = hashmap
    .entrySet() // Get the set of (key,value)
    .stream()   // Transform to a stream
    .collect(Collectors.toList()); // Convert to a list.

如果需要a类型的元素列表,可以调整:

List<A> list = hashmap
    .entrySet()   // Get the set of (key,value)
    .stream()     // Transform to a stream
    .map(A::new)  // Create objects of type A
    .collect(Collectors.toList()); // Convert to a list.

假设您在A中有一个构造函数,它看起来像这样:

A(Map.Entry<String,String> e){
    this.key=e.getKey();
    this.value=e.getValue();
}

我希望有帮助。

 类似资料:
  • 问题内容: 我目前正在尝试制作一个将动词与西班牙语共轭的程序。我创建了一个哈希表,其中包含一个键和对象Ve​​rb的实例化。键是具有动词不定式形式的字符串(例如“ hablar”)。这是到目前为止我对哈希映射的代码: HashMap中每个动词的键都基于动词的不定式形式。例如,字符串“ hablar”是西班牙语动词的键。Verb类具有一个名为getInfinitive()的方法,该方法返回一个字符串

  • 问题内容: 我有需要检查的情况。我有一个名为: 因为该键本身不存在,所以抛出。如果我检查 由于引发了另一个。如何测试地图中的键不存在?我知道该方法应该处理它,但这不在我的控制之下。] 问题答案: 即使现在我也因为.get引发异常而得到nullpoiner 如果只有一行,并且确定它抛出异常,则唯一的可能性可能是null。

  • 问题内容: Freemarker有两个集合数据类型,即列表和哈希图。有没有一种方法可以像对列表一样遍历哈希图键? 因此,如果我有一个带有数据的变量,则可以说: 我想用其值打印所有用户的属性。这是无效的,但目标很明确: 问题答案: 编辑: 不要在FreeMarker 2.3.25及更高版本中使用此解决方案,尤其是不要使用。查看其他答案。 您使用内置的按键功能,例如,这应该可以工作:

  • 有人能帮我找到一份没有重复的正确清单吗。 我有一个哈希映射列表,比如“HashMap map”,它的大小是4。键值对类似于以下内容 我想创建另一个Hashmap列表,其中包含“uri\u path”的单个条目以及相应计算的平均值和计数。这就是我正在尝试的。理想情况下,新列表的大小应小于原始列表的大小。有人能帮我理解是不是出了问题

  • Java是将重复值保存为唯一值还是单独保存? 假设我有以下键值对值: 是否将其保存为3个键和3个值,或保存为3个键和2个值(A的值与C的值完全相同) 我担心的是大小,因为我要保存的值非常大,复制它们毫无意义。

  • 我使用stackoverflow链接中的第一个解决方案来创建和读取一个包含两个键和一个值的hashMap。即 如何将键/值对放在这个HashMap上? 简而言之,我希望做相当于 但对于多键hashmap。