私がしようとしているのは、array-listとのコレクションインターフェイスの2つの方法、つまり単純なメニューを作成することです。addAllメソッドコレクションインターフェイスの問題
最初にケース1に行き、アレイリスト 'arr'で 'ABC'を追加してケース2に行きましたが、間違った答えが出ているようです。ケース2の場合、arrはnullです。
私はケース2のためにしたい回答:[7,AB,34]
import java.util.*;
class ArrayList
{
public static void main(String [] args)
{
Scanner inp = new Scanner(System.in);
int ch=0;
do
{
System.out.println("Press 1,add.");
System.out.println("Press 2,addAll.");
System.out.println("Enter your choice?");
Integer choice = inp.nextInt();
ArrayList <String>arr = new ArrayList<String>();
switch(choice)
{
case 1:
arr.add("ABC");
System.out.println("Enter the elements in an arraylist:");
int i=0;
while(i<2)
{
String obj=inp.next();
arr.add(obj);
i++;
}
System.out.println("The elements are:" +arr);
break;
case 2:
ArrayList <String>arr1=new ArrayList<String>();
arr.add("7");
arr1.add("AB");
arr1.add("34");
arr.addAll(arr1);
System.out.println("The elements are:" +arr);
break;
}
System.out.printf("Press 0 to continue?");
ch=inp.nextInt();
}while(ch==0);
}
}
case2の場合、「ar」はリストarrに追加されませんでした。大文字小文字の区別はありません。 –
しかし、それはメモリ内に存在するはずです。ケース2に行く前に、ケース1に行きましたので、 'arr'の配列リストに "ABC"を置く必要があります。 @BandiKishore –
あなたは 'arr'リストを消去して新しいオブジェクトを作成しているので、メモリ内では利用できません。 'ArrayList arr = new ArrayList ();' –