怎么存储一个key对应的多个属性.有什么简单方法, 比如map table之类的

user485739 2012-03-29 09:53:40
比如存储同学信息.
需要的属性有:
int id; String name; int age; ...
如果用Map只能一对一对的存. 有现成的数据结构可以套用吗?
还是必须自己写一个类.?
...全文
398 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaotoly 2012-05-04
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 的回复:]
这样就可以了。
Map <Object,List<Map>> map = new HashMap <Object,List<Map>> ();
[/Quote]
不错!
lxpandsq 2012-05-04
  • 打赏
  • 举报
回复
结构体
user485739 2012-05-04
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 的回复:]

这样就可以了。
Map <Object,List<Map>> map = new HashMap <Object,List<Map>> ();
[/Quote]
神一样的Map,这个有人用的了吗?
我怎么觉这个难度可以用数据库了
lwwit 2012-05-04
  • 打赏
  • 举报
回复
Map是这样的,Map <Obj,Obj> 应该什么情况都行吧
sdojqy1122 2012-05-04
  • 打赏
  • 举报
回复
这样就可以了。
Map <Object,List<Map>> map = new HashMap <Object,List<Map>> ();
swoky 2012-05-04
  • 打赏
  • 举报
回复
用过guava吧,里面有个Multimap,试试看
龙四 2012-05-04
  • 打赏
  • 举报
回复
public class Person{
private int id;
private String name;
private int age;
.....
}


Map<String,Person> map = new HashMap<String,Person>();
user485739 2012-05-04
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 的回复:]

Map是这样的,Map <Obj,Obj> 应该什么情况都行吧
[/Quote]
嗯, 有人建议我从AbstractMap拓展子类. 把两个key包装成一个object.
用这个object作key对应value. 这样也能实现两个key对应一个value的map. 当然value也可以是object
user485739 2012-05-04
  • 打赏
  • 举报
回复
谢谢大家的回答。

最后我使用了HashMap<key,HashMap<key,value>>这种方式.

用这个结构, 读取的时候没有问题.

存入的时候要注意.
比如现在map为: <1,<1,456>>
需要再存入一个<1,<2,789>>这样一个项.
直接存入就会把原来那个值覆盖掉了。因为对外层HashMap的key 1,只能有一个HashMap要么是<1,456>要么是<2,789>

解决办法就是先获取内部那个HashMap, 再使用put(),把<2,789>也放进去。
再把内层Map<1,456><2,789>
放到<1,Map>

get(key)的时候如果返回值为null, 要考虑是这个key对应空值, 还是map中根本没有这一项.
他们可以用用containsKey(key)、containsValue(value)测试。
iceworldvip 2012-04-05
  • 打赏
  • 举报
回复
如果对键值对应要求高的话就用map,如果没有太高要求就用List也可以,写类是必须的,面向对象的思想是必须得有的。写一个学生类把各种信息放进去,连C都提倡结构体呢!更何况java呢~
-AJ- 2012-04-05
  • 打赏
  • 举报
回复
难道不考虑使用数据库么?
user485739 2012-04-03
  • 打赏
  • 举报
回复
自己顶一顶
creso 2012-04-03
  • 打赏
  • 举报
回复
key+list或者object
牙痴 2012-03-29
  • 打赏
  • 举报
回复
key:id
value:object
kebin0001 2012-03-29
  • 打赏
  • 举报
回复
寫一個類

23,407

社区成员

发帖
与我相关
我的任务
社区描述
Java 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧