不懂就问,在循环里面取对象或者MAP的值,怎样效率高?
问题描述:
在循环里面取对象或者MAP的值,怎样效率高?
是先在循环外部定义出来然后set到对象属性中,
还是直接获取呢?
比如:
String username = "";
String sex = "";
String age = "";
User user = null;
for (Map<String, String> map : mapList) {
username = map.get("username");
sex = map.get("sex");
age = map.get("age");
user = new User;
user.setSex(sex);
user.setAge(age);
user.setUsername(username);
}
或者直接从MAP里取出来:
User user = null;
for (Map<String, String> map : mapList) {
user = new User;
user.setSex(map.get("sex"));
user.setAge(map.get("age"));
user.setUsername(map.get("username"));
}
这两种哪种效率高一些?
又如果不是MAP,是对象呢?
答
首先你这块代码有问题的,一般循环出来的结果都放在list里面,用list去add user。
效率问题肯定是后者要高一些,不过也高不了多少,几乎一样的。
答
不建议的是循环体内消耗资源。你这两种代码本质上没什么区别。循环一万次估计也就差个几毫秒。map
内hash碰撞不大到一定程度的话取数据都是很快的。