如何创建一个可以存储多个对象的arraylist类?

Posted

技术标签:

【中文标题】如何创建一个可以存储多个对象的arraylist类?【英文标题】:How to create an arraylist class that can store multiple objects? 【发布时间】:2013-03-03 15:22:51 【问题描述】:

我是一个自学者。目前,我正在制作一个需要矩阵类型数据库的 GUI 项目。

我想了解如何创建一个可以在数组列表中存储多个对象的类。

这是我的示例代码。请注意,这只是我的尝试。此代码尚未最终确定,并且无法正常工作。

感谢您的热心帮助。

    import java.util.ArrayList;
    import java.util.List;

【问题讨论】:

所以基本上你想将用户信息存储在ArrayList 这个例子请求你创建一个名为User的类来封装用户数据。一旦你创建了一个用户类,你就可以创建一个用户的 ArrayList。这是面向对象编程中的一个重要概念。 苏库:是的。 Jahroy:谢谢你的建议。 【参考方案1】:

我认为更好的方法是创建一个用户信息类来存储这样的特定用户的信息。

// I made them all public but this might not be a good idea!
class UserInfo 
    String user;
    String pass;
    String secretCode;

然后你把它放到一个 ArrayList 中。

ArrayList <UserInfo> InfoList = new ArrayList<UserInfo> ();    

那么对于你目前的方法,你可以这样做

// Not so sure what you want to do in this method... so you get to figure out that yourself!
public void userInternalDatabase (UserInfo info) 

    this.user = info.user;
    this.pass = info.pass;
    this.secretCode = info.secretCode;


public void addUser(String i, String j, String k) 
    UserInfo newUser = new UserInfo();
    newUser.user = i;
    newUser.pass = j;
    newUser.secretCode = k;
    InfoList.add(newUser);


public Object findUsername(String a)  
    
    for (int i=0; i <InfoList.size(); i++) 
        if (InfoList.get(i).user.equals(a))
             return "This user already exists in our database.";
        
    
    return "User is not founded."; // no Customer found with this ID; maybe throw an exception

【讨论】:

感谢您的帮助。那么,如果我想检索用户名数据,我应该怎么做呢?另外,InfoList 是否有三列:用户名、密码和密码?谢谢。 您可以使用索引为整数的 InfoList.get(index) 来检索 UserInfo 对象,或者您可以使用迭代器来搜索与您正在搜索的信息相同的对象。您可以使用 InfoList.get(i).user、InfoList.get(i).pass、InfoList.get(i).secretCode 访问数据。再次注意公共变量可能不是一个好主意!

以上是关于如何创建一个可以存储多个对象的arraylist类?的主要内容,如果未能解决你的问题,请参考以下文章

第2章 集合类之ArrayList

Java之ArrayList类(集合)

创建类存储对象

java----ArrayList

Java中请说明集合类ArrayList与 HashMap的区别?

ArrayList集合