测试Map,和list的插入效率

public static void count(int count) {
		System.out.println(new Date());
		List<Integer> ilist = new ArrayList<Integer>();
		for (int i = 0; i < count; i++) {
			ilist.add(i);
		}
		System.out.println(new Date());
	}
	public static void count2(int count) {
		System.out.println(new Date());
		Map<Integer, Integer> m = new HashMap<Integer, Integer>();
		for (int i = 0; i < count; i++) {
			m.put(i, i);
		}
		System.out.println(new Date());
	}
	
	public static void main(String[] args) {
	      count(9000000);
//		Wed Feb 04 17:47:58 CST 2015
//		Wed Feb 04 17:48:06 CST 2015

//		count2(9000000);
//		Wed Feb 04 17:48:24 CST 2015
//		3分多钟还没结束,就停止程序了。

//		count2(3000000);
//		Wed Feb 04 17:54:16 CST 2015
//		Wed Feb 04 17:54:17 CST 2015	
	}

经上所测试,在数据量大时,现测试大于300万时就效率好慢。







转载于:https://my.oschina.net/kelvinline/blog/375404

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 好的,我很乐意回答你的问题。关于 "list", "set" 和 "map" 的区别,它们都是 C 语言中常用的数据结构。它们的主要区别在于它们存储元素的方式和它们提供的操作。 "List" 是一种线性数据结构,其中元素按照它们插入的顺序存储。可以通过索引访问它们,也可以通过添加和删除元素来修改它们。 "Set" 是一种无序的数据结构,其中每个元素都是唯一的。它提供了一些与集合相关的操作,例如添加,删除和测试元素是否存在于集合中。 "Map" 是一种将键映射到值的数据结构,其中每个键都是唯一的。可以像访问数组一样访问每个元素,但是需要使用键而不是索引。 在 C 语言中,通常使用数组来实现列表和集合,并使用结构体来实现映射。这些数据结构在程序开发中非常常用,因为它们提供了一种简单而有效的方式来组织和操作数据。 希望这可以回答你的问题。如果你有其他问题,欢迎再问我。 ### 回答2: list、set和map都是数据结构,在编程中用来存储和操作数据的。 1. list(列表)是有序的可重复的集合,可以存储不同数据类型的元素。列表使用方括号[]来表示,元素之间用逗号分隔。列表的特性包括:索引访问、可变性和有序性。可以通过索引来访问、修改和删除列表中的元素,还可以使用各种方法对列表进行操作,例如添加、删除、排序等。 2. set(集合)是无序的不可重复的集合,可以存储不同数据类型的元素。集合使用大括号{}来表示,元素之间用逗号分隔。集合的特性包括:元素唯一性、无序性和不可变性。集合可以用来快速检查元素是否存在,还可以进行交集、并集、差集等集合运算。 3. map(映射或字典)是一种键值对的集合,可以存储不同数据类型的键值对。映射使用大括号{}来表示,每个键值对用冒号:分隔,不同键值对之间用逗号分隔。映射的特性包括:键的唯一性、无序性和可变性。可以通过键来访问、修改和删除映射中的值,还可以使用各种方法对映射进行操作,例如添加、删除、查找等。 总结:list、set和map都是用来存储和操作数据数据结构,但它们在元素的重复性、有序性以及查找、获取、修改、删除等操作上有所不同。list是有序可重复的,set是无序不可重复的,map是键值对的集合。选择使用哪种数据结构,需要根据实际需求来决定。 ### 回答3: list、set和map都是Java集合框架中的常见类,用于存储和操作一组数据。它们之间的区别如下: 1. List(列表)是一种有序的、可重复的集合,可以根据元素的索引来访问和操作元素。它可以包含相同元素的多个实例,并且元素的顺序和插入顺序一致。List中的每个元素都有对应的索引值。常见的实现类有ArrayList和LinkedList。 2. Set(集合)是一种无序的、不可重复的集合,不允许包含相同元素。Set中的元素没有特定的顺序,不能根据索引来访问元素。常见的实现类有HashSet和TreeSet。 3. Map(映射)是一种键值对的集合,每个键都唯一,每个键对应一个值。Map中的键是无序的,但值是有序的。Map提供了根据键来访问和操作值的方法。常见的实现类有HashMap和TreeMap。 所以,List适用于需要按照顺序存储元素并能通过索引访问元素的场景,Set适用于需要存储唯一值的场景,Map适用于根据键值对关系来存储和查找数据的场景。根据具体场景的需求,选择适当的集合类可以提高程序的效率和简化代码的编写。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值