黑马程序员技术交流社区

标题: 集合问题 [打印本页]

作者: 马姗姗    时间: 2014-1-4 17:19
标题: 集合问题
JAVA刚学到集合部分,不知道JAVA的实现接口的几个类,都应该用在什么地方,API也看了,但是还是不怎么清楚所用的具体位置,还请高手们多多指点谢谢了.
下面的题我做了一下,不知道用的对不对啊.
1、如果需要维护和搜索一个部件列表,它们由其唯一的字母数字组合序列号表示,其中的部件是Part类型,这时使用哪种集合比较好?
  LinkedHashSet

2、如果1题中改为按照部件的序列号取部件,用哪种集合比较好?
  Vector  

3、如果1题中改为要求记录最后访问哪个部件,用哪种集合比较好?
  LinkedHashMap

作者: 小悠久    时间: 2014-1-4 18:03
Collection确实不好翻译,容易和Set混淆,所以不如用容器类根容易理解。不过如果你学了J2EE,可不要和其中的“容器”搞混了。Java容器类主要是三个接口,Set、List和Map,代表三种数据结构。Set接口模仿数学中的集合gainian,可以容纳不重复、没有顺序的元素,而List则是线性表,最后是Map,类似平行二元数组(parallel array),建立属性-值对,Map还有一个类似的对应Dictionary,概念是一样的。学习Java容器类,手要掌握这三种数据类型的概念,看API文档时,仔细研读关于这三个接口的说明,以及相应的接口方法定义、说明。剩下的,就是实现这三个接口的类,这些类的数量很多,一下也不容易全搞明白,可以先按照上述的三个接口各选一个有代表性的,比如List,可选ArrayList或Vector,Set可选HashSet,Map接口可选HashMap,体会这三种数据结构的不同。一旦能够掌握在什么情况下用什么数据结构,比如家里一个邮件列表,如果需要存储的邮件地址不能重复,则可以用Set型,如允许重复可选用List,如果想建立用户名和邮件地址的对应关系,则可以用Map类。接下来可以在研究这三种类型的其它类,如List中LinkedList,Set中的LinkedHashSet,Map中的LinkedHashMap等。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2