黑马程序员技术交流社区

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

作者: lighter    时间: 2014-11-5 14:41
标题: 集合问题
list可以存一种元素,map存2种元素,那怎么存储多种元素呢?
作者: wf111sxwf    时间: 2014-11-5 14:49
不是一种元素,是单列集合和双列集合。map中双列就是键和其映射的值。这两个之间有着对应关系。我想你是不要说,一个键对应好多值的这种集合啊?  我不知道有木有。。。应该是木有,我觉得java这种严谨性的语言,因该会保证调用的唯一性。或者你说的是,值后面继续有映射的值?  求大神来解答啊
   
作者: lighter    时间: 2014-11-5 15:10
wf111sxwf 发表于 2014-11-5 14:49
不是一种元素,是单列集合和双列集合。map中双列就是键和其映射的值。这两个之间有着对应关系。我想你是不 ...

我想问的就是向数据库那样一个主键对应多个字段(即多个值)那样的情况,等高手解答
作者: 郑飞    时间: 2014-11-5 15:17
包装成对象 然后再存啊
作者: 李天富    时间: 2014-11-5 19:04
毕老师视频有讲,集合里的元素可以是集合对象。
作者: 化学反应    时间: 2014-11-5 19:32
我的感觉是Map中的HashMap和HashTable在存储元素的形式上就满足你的要求呀。HashMap和HashTable中有个成员,这个成员是个数组,这个数组的每个元素分别指向一个单向链表。当添加key-value键值对时,首先根据key的hashCode()算出key的哈希值,再根据这个哈希值算出其对应到那个数组成员的索引,确定在那个数组成员中的位置,最后用key的值和这个数组元素指向的单向链表的每个节点的key-value键值对的key值比较,若key值已经存在则用新的value取代旧的value,否则将新的key-value键值对放到这个单向链表的表头位置。那么形式上key-value键值对的key的哈希值就相当于主键,不同的key-value键值对就类似于多个字段。
作者: huoxy    时间: 2014-11-6 10:04
我觉的有2种方法:1)把多列数据封装成对象;2)嵌套使用map集合,即将map集合作为新的map集合的某一列元素。
作者: 小爷邱烙    时间: 2014-11-6 10:15
map其实也是存储一种元素的,因为作为键值对,其key可以理解为一种角标。
首先要理解集合的作用,集合作为一种容器,其常用操作就是增删改查,而像楼主所说的存储多种类型的元素,是不便于增删该查操作的。
而楼主所说数据库中数据映射成对象,使用的是javaBean,通过属性存储。
同时javaBean可以作为元素存储在list或者map中
作者: 小鸡捉你    时间: 2014-11-6 10:24
包装成对象,javaBean呗
作者: lighter    时间: 2014-11-6 17:38
李天富 发表于 2014-11-5 19:04
毕老师视频有讲,集合里的元素可以是集合对象。

对的,想起来了,谢谢哦
作者: jacoblx    时间: 2014-11-6 18:48
lighter 发表于 2014-11-5 15:10
我想问的就是向数据库那样一个主键对应多个字段(即多个值)那样的情况,等高手解答 ...

毕老师有说过,这种情况请封装对象。




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