关于对象容器的选择

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介:

thumbs_up.gif编程中免不了要使用容器对象来容纳若干数量的对象。微软的.NET编程平台真是两个字--方便。它提供了一个ArrayList对象,满足了编程时对容器对象的大部分需求。但是,真是如此吗?

ArrayList主要提供了一种基于索引的容器,但是,它又提供了Contains函数,以至于可以自己编写按内容查找的函数,但这并不一定高效。实际上,很多情况下,使用基于键的容器更为方便,减少遍历,函数效率显然会增加不少。

以下是几条体会:

  1. ArrayList满足了大多数需求;
  2. 仅当读取后需要删除时,才使用Queue或Stack;
  3. 需要基于键而不是基于索引的访问,则需要选择Hashtable--多个元素时 或者 ListDictionary--少量元素时;
  4. 不要使用具有多余特性的集合类;

按这4个原则修改代码后,代码运行时所需要的内存有明显降低,特别是内存峰值,有很大减少。





本文转自斯克迪亚博客园博客,原文链接:http://www.cnblogs.com/sgsoft/archive/2004/09/27/47015.html,如需转载请自行联系原作者

相关文章
|
6月前
|
XML Java 编译器
如何使用IOC容器进行对象的管理和创建?
如何使用IOC容器进行对象的管理和创建?
如何使用IOC容器进行对象的管理和创建?
|
3月前
|
索引 Python 容器
Python容器专题 - deque(队列)--双向队列对象
Python容器专题 - deque(队列)--双向队列对象
35 0
|
3月前
|
XML Java 数据格式
面试题:在spring框架下,创建容器对象的方式有哪些?你做项目的时候,会考虑哪种?
面试题:在spring框架下,创建容器对象的方式有哪些?你做项目的时候,会考虑哪种?
21 0
|
安全 容器
win10删除文件时权限不够(你需要来自Administrators 的权限才能对此文件进行更改,无法枚举容器的对象,访问被拒绝)
win10删除文件时权限不够(你需要来自Administrators 的权限才能对此文件进行更改,无法枚举容器的对象,访问被拒绝)
2930 0
win10删除文件时权限不够(你需要来自Administrators 的权限才能对此文件进行更改,无法枚举容器的对象,访问被拒绝)
|
10月前
|
Java 关系型数据库 MySQL
java new创建的对象不会被Spring容器进行管理
java new创建的对象不会被Spring容器进行管理
155 0
|
10月前
|
XML druid Java
Spring | 数据源对象 properties文件 创建容器和获取bean 容器总结
Spring | 数据源对象 properties文件 创建容器和获取bean 容器总结
135 0
|
11月前
|
XML Java 新能源
【框架源码】Spring源码底层IOC容器加入对象的方式
【框架源码】Spring源码底层IOC容器加入对象的方式
【框架源码】Spring源码底层IOC容器加入对象的方式
|
Java 容器 Spring
【Spring专题】「实战系列」Spring容器注入Bean对象的方法及梳理
【Spring专题】「实战系列」Spring容器注入Bean对象的方法及梳理
118 0
|
数据可视化 索引 Python
Matplotlib数据可视化:三大容器对象与常用设置(下)
Matplotlib数据可视化:三大容器对象与常用设置(下)
Matplotlib数据可视化:三大容器对象与常用设置(下)
|
数据可视化 Python 容器
Matplotlib数据可视化:三大容器对象与常用设置(上)
Matplotlib数据可视化:三大容器对象与常用设置(上)
Matplotlib数据可视化:三大容器对象与常用设置(上)