为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用另一个类将对象添加到arraylist?

如何使用另一个类将对象添加到arraylist?

斯蒂芬大帝 2022-05-12 18:44:37
基本上我的教授告诉我使用arraylist?老实说,我不明白他的意思..我认为他希望我将对象添加到arraylist?现在,我真的不知道该怎么做..我的代码正在运行并且非常好。但是,他还是想让我利用arraylist让它看起来更好?/* * 要更改此许可证头,请在项目属性中选择许可证头。* 要更改此模板文件,请选择工具 | 模板 * 并在编辑器中打开模板。*/ 包 ahaprogram2;这是另一堂课     package ahaprogram2;     import java.util.ArrayList;     import java.util.Scanner;  public class Container { Scanner reader  = new Scanner(System.in); public ArrayList<String> CanContainer = new ArrayList<String>(); public int Contsizep; public String contName; public String changeName; public Container(String contname){     this.contName = contname; } public void AddCan(String CantoAdd) {     this.CanContainer.add(CantoAdd); } public void RemoveCan(String CantoRemove) {      if (this.CanContainer.contains(CantoRemove)) {        this.CanContainer.remove(CantoRemove);            System.out.println("** " + CantoRemove + " Can removed      successfully**");     }      else {          System.out.println("Can cannot be found.. make sure to put the       exact name!!");      }        }    public void renameCont(String changename) {    this.contName += changename;    }     public void printContents() {     System.out.println("Here are the contents of " + contName);     System.out.println("");     for(String counter : this.CanContainer){        System.out.println(counter); }       }      public void printContainer() {  // for OPTION A ONLY     System.out.println("CONTAINER NAME SUCCESSFUL: ** " + contName +    "**");   }   }我只是想把所有东西都放在一个数组列表中,请帮忙..我的教授没有面对面地教我们,这就是为什么我真的尽我所能在 youtube 上观看视频并在这里问..
查看完整描述

2 回答

?
精慕HU

TA贡献1845条经验 获得超8个赞

您的许多代码似乎都基于Container以相似(如果不相同)的方式交互五个对象之一。首先,您可以使用 ArrayList 来存储 Container 对象的列表,而不是手动声明每个容器:


public static ArrayList<Container> containerList = new ArrayList<Container>();

然后,您可以使用新容器填充此列表ArrayList.add(E e),并结合 for 循环或其他一些构造:


for (int i = 1; i <= 5; i++) {

  Container container = new Container("Container " + i + ": ");

  containerList.add(container);

}

同样,您可以使用ArrayList.get(int index)(如果您知道索引)或ArrayList.indexOf(Object o)(如果您有对特定容器的引用)访问任何特定容器。这可以替换或补充您的条件语句。例如,您的(contInput.equals("X"))语句列表可以替换为:


int index = Integer.parseInt(contInput);

System.out.print("Input the name of Container " + index + ": ");

Container container = containerList.get(index - 1); // arrays start at 0, but your numbering starts at 1


String contImp = reader.nextLine();

container.renameCont(contImp);

container.printContainer();

希望这可以帮助。


查看完整回答
反对 回复 2022-05-12
?
哈士奇WWW

TA贡献1799条经验 获得超6个赞

您可以像这样将容器添加到 ArrayList:


ArrayList<Container> containers = new ArrayList<>();

containers.add(new Container("Container 1: "));

containers.add(new Container("Container 2: "));

containers.add(new Container("Container 3: "));

然后像这样得到它们:


Container firstContainer = containers.get(0);

Container secondContainer = containers.get(1);


查看完整回答
反对 回复 2022-05-12
  • 2 回答
  • 0 关注
  • 202 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号