我希望有人能告诉我我是否以正确的方式去做这件事,或者我正在做的事情是否可行。
我的最终目标是创建一个程序,您可以在其中创建小屋、创建露营者并将他们分配到小屋。
我的想法是允许用户通过调用一个方法来创建一个新的 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/