是否创建了许多对象降低性能?

时间:2014-10-29 13:16:03

标签: java object

在我的代码中,我有大约150个用户详细信息可以保存或者多次使用。

哪一种方法更好:

将用户详细信息保存在列表或对象中;

Map<String, List<String>> users= new Map<String, List<String>>();
List<String> data = new ArrayList<String>();
data.add(Name);
data.add(address);
data.add(phone);
users.put(userID,data);

或者

Map<String, UserData> users= new Map<String, UserData>();

public class UserData {
    Public String name;
    Public String address;
    Public String phone;
    UserData(String name,String address,String phone){
        this.name=name;
        this.address=address;
        this.phone=phone;
     }
 }  

UserData userData=new UserData("Name","ADD","123") ;
users.put(userID,userData);

如果我可以在我的代码中使用任何其他更好的方法,请建议我 抱歉英语不好。

2 个答案:

答案 0 :(得分:5)

Java是围绕对象设计的,JVM可以很好地处理它们。

使用久经考验的OO设计最佳实践,设计您的系统应如何设计。如果存在性能问题(很可能不存在),那么在遇到问题时请解决该问题。

答案 1 :(得分:1)

如果你有很多很多细节要设置到一个对象,第二种方法是正确的。因为这是告诉实际代表什么数据的唯一方法。

第一个是一个简单的项目列表,您可以依赖某些数据在某个位置的事实。但是如果数据的一部分丢失了......那么......你会插入null吗?不是存储有意义数据的好方法。

创建具有许多属性的类可能会在初始化时导致状态不一致。因为您依赖于每个属性在创建后设置并且在使用此类时某些属性不为null的事实。

因此我建议在这种情况下使用builder pattern