我们可以使用其中的任何一个(包括列表、ArrayList、字典、哈希表、堆栈、队列)来保存值或将对其他对象的引用作为集合。
但是,我的问题是在什么情况下使用哪一个?
发布于 2012-08-10 21:03:55
列表
列表允许重复项,可以通过索引访问,并支持线性遍历。
哈希值
哈希是一种查找,在这种查找中,你给列表中的每一项一个“键”,这个键将在以后用来检索它。想象一个类似于表索引的散列,你可以问这样的问题:“我要通过这个字符串值找到这个对象。不允许重复键。”
的哈希表
队列
队列控制如何访问列表中的项。通常在特定方向(从前面或后面)推送/弹出队列中的记录。不用于中间的随机访问。
后进先出(后进先出)列表,将记录推入/弹出到每个other.
发布于 2012-08-10 21:05:22
Push()),当你检索一个对象(通过Pop())时,它被从栈中从栈中移除,这与manner.Push()。发布于 2012-08-10 21:17:04
下面是它们的一些用法。
list :,如果你只想要一个清单,而不关心任何重复的东西,比如人的清单,购物清单,生活中要做的事情的清单。
队列:如果您想要模拟一个队列,例如,在医院中,您有一个队列和优先级队列(在急诊科)。分诊将决定谁的情况危急,需要接受治疗。
另一个例子是购物队列,排队的第一个人“通常”是第一个结账的人。
堆栈:内部内存中使用的,用于在将值传递给函数/方法时对其进行推送和弹出。
另一个有趣的用途是,在视频游戏清单方法中,您可以将一个项目(push)放到堆栈中,然后将一个项目(pop)从堆栈中删除。
Hash/Dictionary:这些通常用在数据库中,用于查找和索引。
根据你想要模拟的内容,我同意其他人的观点,阅读数据结构是很方便的。一本书是有帮助的,但互联网上也有丰富的信息。
https://stackoverflow.com/questions/11902107
复制相似问题