A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© lighter 中级黑马   /  2014-11-5 14:41  /  1157 人查看  /  10 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

list可以存一种元素,map存2种元素,那怎么存储多种元素呢?

10 个回复

正序浏览
lighter 发表于 2014-11-5 15:10
我想问的就是向数据库那样一个主键对应多个字段(即多个值)那样的情况,等高手解答 ...

毕老师有说过,这种情况请封装对象。
回复 使用道具 举报
李天富 发表于 2014-11-5 19:04
毕老师视频有讲,集合里的元素可以是集合对象。

对的,想起来了,谢谢哦
回复 使用道具 举报
包装成对象,javaBean呗
回复 使用道具 举报
map其实也是存储一种元素的,因为作为键值对,其key可以理解为一种角标。
首先要理解集合的作用,集合作为一种容器,其常用操作就是增删改查,而像楼主所说的存储多种类型的元素,是不便于增删该查操作的。
而楼主所说数据库中数据映射成对象,使用的是javaBean,通过属性存储。
同时javaBean可以作为元素存储在list或者map中
回复 使用道具 举报
huoxy 中级黑马 2014-11-6 10:04:20
7#
我觉的有2种方法:1)把多列数据封装成对象;2)嵌套使用map集合,即将map集合作为新的map集合的某一列元素。
回复 使用道具 举报
我的感觉是Map中的HashMap和HashTable在存储元素的形式上就满足你的要求呀。HashMap和HashTable中有个成员,这个成员是个数组,这个数组的每个元素分别指向一个单向链表。当添加key-value键值对时,首先根据key的hashCode()算出key的哈希值,再根据这个哈希值算出其对应到那个数组成员的索引,确定在那个数组成员中的位置,最后用key的值和这个数组元素指向的单向链表的每个节点的key-value键值对的key值比较,若key值已经存在则用新的value取代旧的value,否则将新的key-value键值对放到这个单向链表的表头位置。那么形式上key-value键值对的key的哈希值就相当于主键,不同的key-value键值对就类似于多个字段。
回复 使用道具 举报
毕老师视频有讲,集合里的元素可以是集合对象。
回复 使用道具 举报
包装成对象 然后再存啊
回复 使用道具 举报 2 0
wf111sxwf 发表于 2014-11-5 14:49
不是一种元素,是单列集合和双列集合。map中双列就是键和其映射的值。这两个之间有着对应关系。我想你是不 ...

我想问的就是向数据库那样一个主键对应多个字段(即多个值)那样的情况,等高手解答
回复 使用道具 举报
不是一种元素,是单列集合和双列集合。map中双列就是键和其映射的值。这两个之间有着对应关系。我想你是不要说,一个键对应好多值的这种集合啊?  我不知道有木有。。。应该是木有,我觉得java这种严谨性的语言,因该会保证调用的唯一性。或者你说的是,值后面继续有映射的值?  求大神来解答啊
   
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马