不懂就问,在循环里面取对象或者MAP的值,怎样效率高?

不懂就问,在循环里面取对象或者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碰撞不大到一定程度的话取数据都是很快的。