首页 > 编程知识 正文

java将map转换为对象,map的value可以为空吗

时间:2023-05-03 17:00:50 阅读:53548 作者:4786

如何在Java中将映射转换为列表

将Map转换为List的最好方法是什么? 您只是重复了所有值并将其插入到列表中,或者忽略了什么?

13个解决方案

1157电压

列表列表=new ArrayList (map.values );

假设:

地图地图;

cletusanswered 2018-12-26t 02336038336021 z

125伏特

这里的问题是,List有两个值(键和值),而List只有一个值(一个元素)。

因此,获取List的密钥或值是最好的方法。 除非使用包装器保存键/值对。

假设有一个列表:

Map m=new HashMap (;

m.put(Hello )、(World );

m.put(apple,) 3.14 );

m.put (通告程序)、) Element );

可以通过从List方法返回的List创建新的List来获取用作List的密钥。

列表列表=new ArrayList (m.keyset );

可以根据List方法返回的List创建新的ArrayList,但其值为List。

列表列表=new ArrayList (m.values );

获取List密钥的结果:

苹果电脑

通告程序

你好

获取List值的结果:

3.14

元素

世界杯

coobirdanswered 2018-12-26t 02336039336008 z

28电压

使用Java 8流API。

List values=map.values ().stream ).collect (collectors.to list ) );

matejkormuthanswered 2018-12-26t 02336039336028 z

20伏特

Map.EntrySet ()提供了map.entry对象的集合,包括键和值。 然后,可以将其转换为任何集合对象,如newarraylist(map.entryset )。

javadudeanswered 2018-12-26t 02336039336048 z

20伏特

什么名单?

假设map.keySet ()是Set的实例

map.keySet ) )返回包含所有贴图值的Set。

map.keySet ()返回包含所有映射键的Set。

diegoamicabileanswered 2018-12-26t 02336040336021 z

12电压

您想将Collection中包含的值转换为Map吗? 最简单的是调用Map接口的Map方法。 它返回列表中包含的值对象的列表。

请注意,此Collection由Map对象支持,对Map对象的更改将反映在此处。 因此,如果要创建另一个未绑定到Map对象的副本,请创建一个新的List对象,如ArrayList,然后传递值Collection,如下所示:

ArrayList list=new ArrayList (map.values );

maneeshanswered 2018-12-26t 02336040336047 z

6电压

你可以这样做

列表列表=new ArrayList (map.values );

user 3752441 answered 2018-12-26t 02336041336007 z

4电压

要确保结果映射的值是输入Hashtable的密钥排序,必须以某种方式“通过”ConcurrentHashMap。

从特定的Map实现(如Hashtable )开始,或输入ConcurrentHashMap以插入到SortedMap并将其转换为列表。 例如:

地图地图;

列表列表=新阵列列表(新流)映射);

否则,获取Map实现提供的本机订单。 这通常不是自然的密钥排序。 (尝试Hashtable或ConcurrentHashMap以用于多样化。 )。

m0 les answered 2018-12-26t 02336041336036 z

3电压

Map map=new HashMap (;

map.put('Java ',20 );

map.put('c ',45 );

Set set=map.entrySet (;

列表列表=新阵列列表(set;

列表可以同时包含键/值对。 也可以使用Map.Entry从迭代列表中检索键和值。

user 11 answered 2018-12-26t 02336041336056 z

0电压

'映射图=new haps hmap;

map.add(one,) java );

map.add('two ',' spring ' );

Set set=map.entrySet (;

列表列表=新阵列列表(set;

进入项:列表(for ) {

system.out.println (entry.getkey ) );

system.out.println (输入. getvalue ();

sivaprasadanswered 2018-12-26t 02336042336012 z

0电压

HashMap map=new HashMap (;

列表列表=new ArrayList (;

list.add(Java );

list.add (主面);

list.add(JSF );

map.put(1,list;

If (地图!=空) {

返回新阵列((collectionextendsstring ) map.values );

}

hakananlamazanswered 2018-12-26t 02336042336028 z

0电压

//you can use this

列表列表=new ArrayList (map.values );

//or you may use

列表列表=new ArrayList (;

for (map.entry entry : map.entryset ) )

{

list.add (输入. getvalue ) );

}

saurabhgoyal 795 answered 2018-12-26t 02336042336043 z

- 1电压

这是从map获取值的常用方法。

publicstaticlistvaluelistfrommap {

列表thing list=new ArrayList (;

for (map.entry entry : map.entryset ) )

thing list.add (输入. getvalue ) );

}

返回定时列表;

}

hiralpancholianswered 2018-12-26t 0233604336003 z

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。