0
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のオブジェクトを作成し、オブジェクトにアイテムを追加/オブジェクトからアイテムを削除するにはどうすればよいですか?bluespとに6個、redspに20個のアイテムを追加したいと思いplayerspます。

MapData TEST = new MapData(null,null,null);
TEST.??
4

4 に答える 4

2

MapDataにさらにいくつかのメソッドを作成します

たとえば、Bluespに追加するには

public void addToBlueSp(String string) {
    Bluesp.add(string);
} 

また、これはJavaで行う標準的なことなので、キャメルケースを使用します。

ArrayListsをオブジェクトに渡してから、そのオブジェクトを使用してアイテムを追加/削除する意味がほとんどないため、ctor内にもArrayListsを作成することをお勧めします。ArrayListがある場合は、このオブジェクトの外部に追加できます。しかし、それは設計上の問題です...

于 2012-10-07T13:32:18.587 に答える
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");
于 2012-10-07T13:32:41.470 に答える
0

最も簡単な方法は、3つのコレクションにゲッターを提供してから、通常の方法でそれらを操作することです。このような操作は、メンバーフィールドで有効になります。

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をトリガーします。デフォルト値を空のリストに設定することを検討してください。

于 2012-10-07T13:33:33.127 に答える
0

Listsのgetterメソッドとsetterメソッドを追加して、次のMapDataような新しい要素を追加することができます。

TEST.getRedsp().add("hello");

public ArrayList<String> getRedsp()
{
    if(Redsp == null)
        Redsp = new ArrayList<String>();

    return Redsp;
}

または、各リストのaddメソッドを次のように導入できますMapData

TEST.addToRedsp("hello");

public boolean addToRedsp(String value)
{
    if(Redsp == null)
        Redsp = new ArrayList<String>();

    return Redsp.add(value)
}

削除の場合も同様に続行します。

ちなみに、変数の命名規則を見てください。

于 2012-10-07T13:33:39.483 に答える