我想把Arraylist存储在另一个列表中,像这样的东西,我知道它是错误的,但是很像这样.
List list=new ArrayList();
list.add(new("element1","element2","element3",element4=?);
list.add(new("element5","element6","element7",element8=?);现在,如果您看到上面的代码,可以添加元素,或者将第一行列到第三个元素,但是第四个元素是另一个数组数组,如何将其添加或追加到元素的第一行。第二排也是一样。
注意:- element4和element8的长度也不同,这意味着element4有2个字符串,元素8有10个字符串。
当我显示列表时,它应该像下面这样显示列表
The first row of list is
element1 element2 element3 element4.1 element4.2
the second row of list is
element5 element6 element7 element8.1 element8.2 element8.3 element8.4 element8.5 element8.6 element8.7 element8.9 element8.10发布于 2012-03-09 11:19:41
你试过这样做吗?
List list = new ArrayList();
list.add(Arrays.asList("element1", "element2", "element3",
Arrays.asList("element4.1", "element4.2")));
list.add(Arrays.asList("element5", "element6", "element7",
Arrays.asList("element8.1", "element8.2", "element8.3")));
// print values
System.out.println(list.get(0));
System.out.println(list.get(1));发布于 2012-03-09 11:22:19
所以根据我对你问题的理解,你需要一个List<List<String>>。这样做如下:
List<String> strs1 = new ArrayList<String>();
strs1.add("element1");
strs1.add("element2");
List<String> strs2 = new ArrayList<String>();
strs2.add("element3");然后
List<List<String>> listOfList = new ArrayList<List<String>>();
listOfList.add(strs1);
listOfList.add(strs2);或
List<List<String>> asList = Arrays.asList(strs1, strs2);发布于 2012-03-09 11:19:32
您可以通过这样的操作将列表添加到其他列表中:List<List<String>> myList = new ArrayList<List<String>>();...。但是,鉴于您正在添加具有不同类型的项,我建议您执行以下操作(假设您始终有3个数组列表和1个数组):
toString()方法,这样它就可以迭代元素并以您想要的方式打印它们的内容。List<MyClass> myList = new ArrayList<MyClass>();...。在本例中,MyClass是我在第1点中描述的类。这将允许您创建一个不需要进行任何转换的类型安全结构,从而使您的代码看起来更干净,并且运行速度可能稍微快一些。考虑到您说元素可以包含各种长度的字符串列表,您可以这样做:
public class MyClass
{
private List<String> arrayList1;...
private String[] myArray;...
public MyClass(List<String> list1, ..., String[] myArray)
{
this.arrayList1 = list1;
this.myArray = myArray;
...
}
...
@Override
public String toString()
{
StringBuilder sb = new StringBuilder();
//iterate adding your list contents to your string builder.
return sb.toString();
}
}然后添加元素将如下所示:
...
List<String> arrayList1 = ...;
arrayList1.add("...");...
String[] myArray = ...;
MyClass myClass = new MyClass(arrayList1, ..., myArray);
System.out.println(myClass.toString());https://stackoverflow.com/questions/9633072
复制相似问题