public class MapData {
ArrayList<String> Redsp = new ArrayList<String>();
ArrayList<String> Bluesp = new ArrayList<String>();
ArrayList<String> Playersp = new ArrayList<String>();
public MapData(ArrayList<String> redsp, ArrayList<String> bluesp, ArrayList<String> playersp) {
Redsp = redsp;
Bluesp = bluesp;
Playersp = playersp;
}
}
如何制作MapData对象,并在对象中添加/删除项目?
我想将{6}项添加到bluesp
和redsp
,将20添加到playersp
。
MapData TEST = new MapData(null,null,null);
TEST.??
答案 0 :(得分:2)
我会为MapData创建更多方法
例如添加到Bluesp
public void addToBlueSp(String string) {
Bluesp.add(string);
}
我也会使用camelCase,因为这是Java中的标准操作。
我可能会建议在ctor中创建ArrayLists,因为几乎没有点将它们传递给对象,然后使用该对象添加/删除它们中的项目。如果您有ArrayList,则可以将它们添加到此对象之外。但这是一个设计事物......
答案 1 :(得分:0)
使用add()
和remove()
方法
- 您可以选择创建添加和删除 methods
或将所有ArrayList
设为静态
<强>例如强>
public void addToRedSp(String string) {
Redsp.add(string);
}
public void remToRedSp(String string) {
Redsp.remove(string);
}
MapData TEST = new MapData(null,null,null);
// To add
test.addToRedSp("Vivek");
// To remove
test.remToRedSp(0); // or MapData.Redsp.remove("Vivek");
- ArrayList
为静态
public static ArrayList<String> Redsp = new ArrayList<String>();
public static ArrayList<String> Bluesp = new ArrayList<String>();
public static ArrayList<String> Playersp = new ArrayList<String>();
MapData TEST = new MapData(null,null,null);
// To add
MapData.Redsp.add("Vivek");
// To remove
MapData.Redsp.remove(0); // or MapData.Redsp.remove("Vivek");
答案 2 :(得分:0)
最简单的方法是为三个集合提供getter,然后以普通方式操作它们。此类操作将对成员字段生效:
public class MapData {
ArrayList<String> Redsp = new ArrayList<String>();
ArrayList<String> Bluesp = new ArrayList<String>();
ArrayList<String> Playersp = new ArrayList<String>();
public MapData(ArrayList<String> redsp, ArrayList<String> bluesp, ArrayList<String> playersp) {
Redsp = redsp;
Bluesp = bluesp;
Playersp = playersp;
}
public ArrayList<String> getRedsp();
}
然后你这样做:
MapData TEST = new MapData(null,null,null);
TEST.getRedsp().add("Text1");
TEST.getRedsp().add("Text2");
等等。
但是,请注意:您不使用空列表构造,但使用null并且我的代码将触发NPE。考虑将默认值设置为空列表。
答案 3 :(得分:0)
您可以将List
的getter和setter方法添加到MapData
并添加如下新元素:
TEST.getRedsp().add("hello");
与
public ArrayList<String> getRedsp()
{
if(Redsp == null)
Redsp = new ArrayList<String>();
return Redsp;
}
或者您可以为MapData
:
TEST.addToRedsp("hello");
与
public boolean addToRedsp(String value)
{
if(Redsp == null)
Redsp = new ArrayList<String>();
return Redsp.add(value)
}
同样继续删除案例。
顺便说一下:看看variable naming conventions。