2

こんにちは、私のJavaプログラミング作業のこの部分にかなりこだわっています。私はこの質問に対して正しいと思うことを行いましたが、次の質問で4つの異なる文字列を2つの異なるサブリストに追加するように求められるため、正しいかどうかはわかりません(そして、それがスタックする場所です)。

これが最初の質問です。

Strings の ArrayLists の ArrayList 型のbalancedThings という名前の変数を作成し、balancedThings 変数を新しい ArrayList > オブジェクトを作成してインスタンス化し、さらに 2 つの新しい ArrayList オブジェクトを作成してbalancedThings リストに追加するメソッドbalancedInit() を追加します。

これは 2 番目の質問です。

文字列「sword」と「map」を 2 つのサブリストの最初のリストに追加し、文字列「shield」と「bottle」を 2 番目のサブリストに追加する、balancingCreation() メソッドを追加します。

これが私の答えです:

void balancedInit()
    {
        balancedThings = new ArrayList<>();

        balancedThings.add(0, "SubListOne");

        balancedThings.add(1, "SubListTwo");
    }

これが質問に適しているかどうか、サブリストに追加するために次にどこに行くべきかを誰かが説明できますか?

4

3 に答える 3

0

ArrayList に文字列の ArrayList を追加したい場合:

public void balancedInit() {
    ArrayList<ArrayList<String>> balancedThings = new ArrayList<ArrayList<String>>();
    ArrayList<String> subListOne = new ArrayList<String>();
    ArrayList<String> subListTwo = new ArrayList<String>();
    // add values to your Sub Lists then ...

    balancedThings.add(subListOne); //  this will be index 0 implicitly
    balancedThings.add(subListTwo); //  this will be index 1 implicitly
}

プログラマーは、ArrayList を List として宣言するなど、Collections フレームワークでポリモーフィズムを使用することを好みますが、シリアライゼーションに関しては、これは良い習慣ではありません。

于 2013-10-05T16:13:34.640 に答える
0

ボトムアップでソリューションを構築するだけでよいと思います。リストのリストについて心配する前に、まず個々のリストについて心配してください。

まず、文字列のリストが必要です。次のようにできます。

private static ArrayList<String> firstSublist() {
        ArrayList<String> list = new ArrayList<>();
        list.add("sword");
        list.add("map");

        return list;
}

ArrayListはリストであり、山かっこで囲まれた文字列は、リストに含まれる型を示します。次に、実際の文字列を追加します。他のサブリストについてもこれを行います。

次に、小さなリストを作成する方法ができたら、大きなリストを作成します。

private static void balancedCreation(ArrayList<ArrayList<String>> listOfLists) {
        listOfLists.add((firstSublist()));
        listOfLists.add((secondSublist()));
}

ここにリストのリストがあります。すべての山かっこが のようなものと混同する可能性があることはわかっていますがArrayList<ArrayList<String>>、一度に少しずつ裏返しに見ることを忘れないでください。

したがって、大きなリストでは、サブリストとまったく同じように、何かを追加するだけです。より単純なレベルでビジネスを処理する限り、トップレベルまで構築するのは簡単です。

結局メインはこんな感じ

public static void main(String[] args) {
        ArrayList<ArrayList<String>> listOfLists = new ArrayList<>();
        balancedCreation(listOfLists);
}

お役に立てれば。

于 2013-10-05T16:16:14.413 に答える
0

BalancedThings を初期化した方法で、「SublistOne」と「SubListTwo」を初期化してインスタンス化します。サブリストを作成する必要があります。

void balancedInit()
    {
        ArrayList<ArrayList<String>> balancedThings = new ArrayList<ArrayList<String>>();
        ArrayList<String> subLiostOne =  = new ArrayList<String>();
        ArrayList<String> subLiostTwo =  = new ArrayList<String>();

        subListOne.add(0,"sword");
        subListOne.add(1,"map");

        subListTwo.add(0,"shield");
        subListTwo.add(1,"bottle");

        balancedThings.add(0, subListOne);

        balancedThings.add(1, subListTwo);
    }

役に立った場合は、回答を役に立ったとマークしてください

于 2013-10-05T16:17:45.707 に答える