0

配列の先頭に項目を追加したいですか?

どうすればこれを達成できますか?

配列には 2 つの項目があります。配列の先頭に項目を追加したい。

result1 = new String[result.length+1];

            for(int i=result.length;i==0;i--)
        {
            if(i==0)
            {
               result1[0]="Latest";

            }
            result1[i]=result[i-1];

        }   
4

5 に答える 5

3

あなたの質問に答えるには:

  1. サイズ = 古い長さ + 1 で新しい配列を作成します。
  2. 古い配列の内容を新しい配列にコピーし、
  3. "latest"新しい配列に挿入します。

このような:

String[] result = { "a", "b", "c" };
String[] tmp = new String[result.length+1];

System.arraycopy(result, 0, tmp, 1, result.length);
tmp[0] = "latest";
result = tmp;

ただし、Listasを使用することを検討することをお勧めしますArrayList。その場合、これを次のように表現できます。

result.add(0, "latest");
于 2012-05-11T14:28:52.030 に答える
0

ただし、ArrayList を使用でき、 add(int index, E object)関数を使用すると、必要な場所に項目を追加できます。そして、ArrayList を array[] に簡単に変換できます

于 2012-05-11T14:29:00.580 に答える
0

LIFO (Last In First Out) として機能するスタックを使用するため、ポップ (読み取り) するたびに、最新 (一番上) にプッシュされたアイテムが取得されます。

配列を使用した Java コード リファレンスは次のとおりです: http://wiki.answers.com/Q/Implementing_stack_operation_using_array_representation_with_java_program

于 2012-05-11T14:29:05.750 に答える
0

できません: 配列は固定長です。

可変サイズの「配列」が必要な場合は、ArrayListを使用します。

例:

ArrayList<String> list = new ArrayList<String>();
list.add("a");
list.add("b");
list.set(0, "new a");
for (String s: list) {
    System.out(s);
}
于 2012-05-11T14:26:59.683 に答える
0

ソリューションの1つの問題はi == 0、値をに設定するとLatest値が上書きされることです result1[i]=result[i-1];

試す

if(i==0) {
     result1[0]="Latest";
}
else {
     result1[i]=result[i-1];
}
于 2012-05-11T14:31:50.210 に答える