是否可以在第6行使用逻辑运行以下代码?
public class arraylist{
public static void main(String args{}){
String s[]={"Sam","Tom","Jerry"};
ArrayList al=new ArrayList();
al.add(s);//i want this type of logic so i can add the elements of string once.is it possible?
}
Iterator it=al1.iterator();
while(it.hasNext())
{
String element=String.valueOf(it.next());
System.out.print("Element"+element);
}
}
答案 0 :(得分:7)
al.add(s);
更改al.addAll(Arrays.asList(s));
,您应该全部设置。
答案 1 :(得分:3)
尝试以下方法:
ArrayList<String> al = new ArrayList<String>(Arrays.asList(s));
答案 2 :(得分:0)
你的问题有答案。
当您说要转换数组asList
时答案 3 :(得分:0)
al.add(s);//i want this type of logic so i can add the elements of string once.is it possible ?
是。这是可能的。您可以向ArrayList
添加任何对象,包括数组对象
但是在迭代ArrayList
对象时,您将通过调用it.next()
来获取数组元素。因此输出将是String representation of array object
而不是数组元素
所以试试这个
String s[]={"Sam","Tom","Jerry"};
ArrayList<String> al=Arrays.asList(s);
Iterator it=al.iterator();
while(it.hasNext())
{
String element=String.valueOf(it.next());
System.out.print("Element"+element);
}
答案 4 :(得分:0)
正如许多人已经建议的那样,使用Arrays.asList。但是在代码工作之前,您仍然需要修复格式,因为您在main方法之外的代码中引用了main方法中的数组列表变量。
public static void main(String[] args){
String s[]={"Sam","Tom","Jerry"};
ArrayList al=new ArrayList();
al.add(Arrays.asList(s));
Iterator it=al.iterator();
while(it.hasNext())
{
String element=String.valueOf(it.next());
System.out.print("Element"+element);
}
}
答案 5 :(得分:0)
我做了以下操作来将数组存储在ArrayList中。声明是:
ArrayList<String[]> training = new ArrayList<String[]>();
输入单词并添加:
String input = sc.nextLine();
s1 = input.split(" ");
training.add(s1);
split方法使用空格分割字符串,并将每个单词存储在数组s1中的相应索引中,该数组已经使用程序所需的大小声明。“sc”是已经声明的扫描程序对象。可以使用以下方法访问数组:
String s4[] = training.get(index_of_array_you_want);
答案 6 :(得分:0)
Element [] array = {new Element(1),new Element(2),new Element(3)};
ArrayList arr = new ArrayList(Arrays.asList(array))