将map中的value存入list集合中

本文详细介绍了如何将Map的值存入List集合,包括四种不同的实现方式,适用于Java开发者,有助于理解数据结构转换操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用四中方式将map中的value存入list中

    @Test
	public void transMapToList(){
		List<String> list1=new ArrayList<>();
		List<String> list2=new ArrayList<>();
		List<String> list3=new ArrayList<>();
		List<String> list4=new ArrayList<>();
		Map<String, String> map=new HashMap<>();
		map.put("2", "jj");
		map.put("3", "uu");
		//方式一
		long time1=System.nanoTime();
		Set<String> set=map.keySet();
		Iterator<String> it=set.iterator();
		while(it.hasNext()) {
			list1.add(map.get(it.next()));
		}
		long time2=System.nanoTime();
		//方式二
		Set<Entry<String, String>> it2=map.entrySet();
		Iterator<Entry<String, String>> entrys=it2.iterator();
		while(entrys.hasNext()) {
			Entry<String, String> entry=entrys.next();
			list2.add(entry.getValue());
		}
		long time3=System.nanoTime();
		//方式三
		map.forEach((key,value)->{
			list3.add(value);
		});
		long time4=System.nanoTime();
		//方式四
		Collection<String> collection=map.values();
		Iterator<String> it4=collection.iterator();
		while(it4.hasNext()) {
			list4.add(it4.next());
		}
		long time5=System.nanoTime();
		System.out.println("keySet方法耗费时间:"+(time2-time1));
		System.out.println("entrySet方法耗费时间:"+(time3-time2));
		System.out.println("JDK8 map.forEach耗时:"+(time4-time3));
		System.out.println("map.values()耗时:"+(time5-time4));
		
	}

输出结果为:

	keySet方法耗费时间:342394
	entrySet方法耗费时间:293128
	JDK8 map.forEach耗时:1410220
	map.values()耗时:410544
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值