java - 我如何允许用户添加、编辑、删除列表组?如教室、小屋等

标签 java list arraylist

我希望有人能告诉我我是否以正确的方式去做这件事,或者我正在做的事情是否可行。

我的最终目标是创建一个程序,您可以在其中创建小屋、创建露营者并将他们分配到小屋。

我的想法是允许用户通过调用一个方法来创建一个新的 ArrayList。我将创建一个 Camper 类,其中包含姓名、年龄、性别等变量...

然后我会编写一个看起来像这样的方法......

      public static void userCreatesList(){


        ArrayList<Camper> cabin = new ArrayList<Camper>();


        }

问题是,当我将项目添加到列表中并打印出来时,该方法有效,因为每次调用该方法时它都会打印不同的列表,但是,我不知道该怎么做是调用上一个再次列出,因为这里的每个列表都将具有相同的变量或对象名称。

那么,如果我通过调用此方法三次来创建三个小屋列表,如果他们最终都具有相同的变量名称,我将如何将一个人分配到特定的小屋?

它必须是一个程序,用户可以在其中创建列表,并且我不必声明具有不同变量名称的多个列表,因为每个营地可能有不同数量的小屋,并且它们必须是能够制作自己的 list 吗?

如果我正在做的事情是不可能的,并且我需要使用除列表之外的另一种类型的对象来执行此操作,请告诉我,我将研究如何使用该对象。

我已经搜索了如何创建一个新组、一个新集合等,但我找不到任何与我正在尝试做的事情相关的内容可以解释这一点。

我希望他们能够给该组命名,例如“Red Cabin”、“Blue Cabin”、“Cabin 1”、“Cabin 12”等......

最佳答案

为此,我建议使用 Map ,以组名作为键,以 ArrayList 作为值。

private static Map<String, ArrayList<Camper>> cabinMap = new  HashMap<String, ArrayList<Camper>>();

public static void userCreatesList(String groupName){
    ArrayList<Camper> cabin = new ArrayList<Camper>();
    cabinMap.put(groupName, cabin);
}

稍后您可以通过名称从该 map 访问特定群组并向其中添加成员。

关于java - 我如何允许用户添加、编辑、删除列表组?如教室、小屋等,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49611511/

相关文章:

java - 如何创建生成随机数数组列表的方法

Java - 通过 toString() 方法以特定格式打印 ArrayList 对象

java - 在ArrayList中添加字符串数组

java - 如何将字符串转换为 float ?

java - 使用 Java 将视频上传到 vimeo 帐户

python - 'shuffled' NumPy 数组上的维度不匹配

python - 在 python 中查找对称对

android - 我有两个列表,但有一个 itemclick 方法

java - AsyncHttpClient 创建了太多 AsyncHttpClient 计时器线程

Java 复数,3 类