【问题标题】:Adding to ArrayList constructor [closed]添加到 ArrayList 构造函数[关闭]
【发布时间】:2013-11-09 10:43:46
【问题描述】:

我有一个关于 ArrayLists 的问题,我似乎无法理解这个概念。基本上我正在制作一个没有构造函数中的 main 方法的 ArrayList 。我需要在我的 ArrayList 中添加多个“用户”,只是我似乎想不出办法。

package lab4;

import java.util.ArrayList;

public class UserGroupz{

private ArrayList<User> users;

    public UserGroupz(){
        users = new ArrayList<User>();
    }

        //MY PROBLEM IS IN THIS METHOD BELOW!
    public void addSampleData(User user){
        users.add(user);
    }



    public int numberOfUsers(){
        return users.size();
    }

    public void printUsernames(int userNumber){
        if(userNumber < 0){ 
        }
        else if(userNumber < numberOfUsers()){
            System.out.println(users.get(3));
        }
        else{
        }
    }
    public void listUsers(){
        for(User allUsers : users){   
            System.out.println(allUsers);
        }
    }

}

【问题讨论】:

  • 到底是什么问题?
  • 这是你说的吗?:添加另一个构造函数 public UserGroupz(User[] usersToAdd)。在构造函数中,初始化你的 users ArrayList,然后遍历 usersToAdd,将它们全部添加到 users。或者如果你想在定义 UserGroupz 之后添加更多,只需编写一个方法 addUsers(User[] usersToAdd)。

标签: java methods arraylist constructor add


【解决方案1】:

如果您的问题是重复调用 addSampleData() 来添加用户,而您想一次性添加多个用户,那么您可以使用 ArrayList#addAll() 方法,它将来自另一个集合的所有元素添加到您的 @987654323 @。

public boolean addAll(Collection c)

将指定集合中的所有元素追加到末尾 此列表,按照指定的返回顺序 集合的迭代器。此操作的行为未定义,如果 操作进行时指定的集合被修改 进步。 (这意味着这个调用的行为是未定义的,如果 指定的集合就是这个列表,这个列表是非空的。)

为此,您需要将所有用户整理到另一个 ArrayList 中,然后将其作为参数传递给 addSampleData(),后者调用您的主要 addAll 方法 ArrayList

【讨论】:

    【解决方案2】:

    主要是创建一个 UserGroupz 对象,

       UserGroupz ugz = new UserGroupz();
       ugz.addSampleData(user);
       ugz.listUsers();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-05-16
      • 2013-10-27
      • 2019-04-22
      • 1970-01-01
      • 1970-01-01
      • 2013-08-26
      • 2013-02-19
      • 2013-06-20
      相关资源
      最近更新 更多