List和Map,mysql转Map,Map转List,List转Map储存形式

List和Map区别:

List:存储单列数据的集合,存储的数据是有序并且是可以重复

Map:存储双列数据的集合,

通过键值对存储数据,存储的数据是无序的,Key值不能重复,value值可以重复

Mysql数据库(存储形式):

Mysql转Map:

1.先用getMetaData()-获得表结构

ResultSetMetaData rsmd = rs.getMetaData();//获得表结构

2.put(colName, s)-将*标题colName与*返回值s相关联,并存到Map中

Map<String, String> m = new HashMap<String, String>();
/*
* getColumnCount()字段数 表名字
* getColumnLabel()获取用于打印输出和显示的指定列的建议标题。
*/
for (int i = 1; i <= rsmd.getColumnCount(); i++) {
				String colName = rsmd.getColumnLabel(i);
				System.out.println("colName:"+colName);
				String s = rs.getString(colName);
				System.out.println("s:"+s);
				if (s != null) {
					m.put(colName, s);//将*标题colName与*返回值s相关联,并存到Map中
					
				}
			}

表储存形式:

HashMap储存形式:

Map转List:

new含有Map类型的List,把Map-add()即可

List<Map<String, String>> list = new ArrayList<Map<String, String>>();
list.add(m);//m是Map数据

List储存形式:

list:[{password=123, address=0, ident=1, telephone=0, id=1, username=admin}, {password=1234, address=大连东软信息学院A3座117室是发送到发, ident=0, telephone=041184835202, id=2, username=user1}, {password=1234, address=大连理工大学计算机系, ident=0, telephone=041184835207, id=3, username=user2}]

List转Map:

注:只能转换List中一个{}

Map<String, String> m = null;
List<Map<String, String>> l = getList(sql, params);//[{password=123, address=0, ident=1, telephone=0, id=1, username=admin},...]
		if (l != null && l.size() != 0) {
			m = (Map<String, String>) (l.get(0));//{password=123, address=0, ident=1, telephone=0, id=1, username=admin}
		}

Map储存形式:

个人总结:

List存储多个用户的数据,Map只能存储一个用户的数据

List适合用在Mysql查询全部。

Map适合用在Mysql查询单一用户,例如用户登录。

list:[{password=123, address=0, ident=1, telephone=0, id=1, username=admin}, {password=1234, address=大连东软信息学院A3座117室是发送到发, ident=0, telephone=041184835202, id=2, username=user1}]
Map:{password=123, address=0, ident=1, telephone=0, id=1, username=admin}

测试源码:

meals源码.zip - 蓝奏云

参考文献:

(1条消息) List和Map的区别_六月星海的博客-CSDN博客_list和map的区别

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值