如何在java中解析嵌套的arraylist输出

如何在java中解析嵌套的arraylist输出,java,Java,根据某些条件,我在Arraylist中添加了一些值(可以是单个值或多个值) 常用方法: List<Object> listsALL..... listsALL.add(sItems2); 输出类 sItems100---------------- [[Item 5, Item 7]] 在从sItems100获取值并添加到嵌套列表时,我得到了下面的输出 [[Item 1, Item 2, Item 6], [[Item 5, Item 7]]] 但我希望你喜欢 [[Item

根据某些条件,我在Arraylist中添加了一些值(可以是单个值或多个值)

常用方法:

List<Object> listsALL.....

listsALL.add(sItems2); 
输出类

sItems100---------------- [[Item 5, Item 7]]
在从sItems100获取值并添加到嵌套列表时,我得到了下面的输出

[[Item 1, Item 2, Item 6], [[Item 5, Item 7]]]
但我希望你喜欢

[[Item 1, Item 2, Item 6], [Item 5, Item 7]]

如何解决这个问题,任何人都可以在这方面提供帮助

你想要这样的东西吗

List<Object> listsALL = new ArrayList<Object>();

List<Integer> list1 = new ArrayList<Integer>();
list1.add(1);
list1.add(2);
list1.add(6);

List<Integer> list2 = new ArrayList<Integer>();
list2.add(5);
list2.add(7);

listAll.add(list1);
listAll.add(list2);
List listsALL=new ArrayList();
List list1=新的ArrayList();
清单1.添加(1);
清单1.添加(2);
清单1.添加(6);
List list2=新的ArrayList();
清单2.添加(5);
清单2.添加(7);
listAll.add(list1);
listAll.add(list2);

保存不同类型的通用对象列表(例如,在您的案例中为列表)并在初始列表中插入单个对象和列表不是一个好主意

如果可能,尝试使用

List<List<Object>>
下面是使用instanceof的完整示例:

 ArrayList<Object> aList = new ArrayList<Object>();         

 String firstElement = "Object1";

 ArrayList<String> secondElement = new ArrayList<String>();
 secondElement.add("Object2");
 secondElement.add("Object3");         

 aList.add(firstElement);
 aList.add(secondElement);

 for (int i = 0; i < aList.size(); i++){
     if (aList.get(i) instanceof String ){
         System.out.println( (String) aList.get(i) );
     } 
     if (aList.get(i) instanceof ArrayList){
         System.out.println( ((ArrayList<String>)aList.get(i)).get(0) );
     }         
 }   
ArrayList aList=new ArrayList();
字符串firstElement=“Object1”;
ArrayList secondElement=新的ArrayList();
第二个元素。添加(“对象2”);
第二个要素。添加(“对象3”);
添加(第一个元素);
添加(第二个元素);
对于(int i=0;i

因此,在本例中,初始列表包含两种类型的对象,String和ArrayList。迭代列表时,您可以使用instanceof运算符查看它是什么类型的对象,并相应地强制转换它。

使用
list
而不是
list
。我尝试返回同一列表中的整数、字符串值,所以我尝试使用list。我可以根据需要使用列表吗?。如果是,请让我知道-谢谢将所需的
int
s和
String
s以及任何其他所需数据存储在自定义类中。然后,对于每组数据,将其存储在
YourCustomClass
的一个实例中,根据需要将它们分组到
List
中,并制作一个
List
来存储所有数据。感谢您的回复,实际上我最初是为了我的需要尝试了这种方法,但是我不能用单一的返回类型返回所有类型的值。所以尝试使用List。对于单次返回值的返回类型,您有什么建议吗?请让我知道。。。。谢谢,我已经编辑了初始响应以显示instanceof usage的示例。这就是你要找的吗?如果不是的话,我就忽略了这个问题,你说的单返回值的返回类型是什么意思,。。。使用单次返回调用方法。感谢您的回复。但我不是在看这个。
     ArrayList<ArrayList<String>> aList = new ArrayList<ArrayList<String>>();         

     ArrayList<String> firstElement = new ArrayList<String>();
     firstElement.add("Object1");

     ArrayList<String> secondElement = new ArrayList<String>();
     secondElement.add("Object2");
     secondElement.add("Object3");         

     aList.add(firstElement);
     aList.add(secondElement);

     System.out.println(aList.get(0).get(0));
     System.out.println(aList.get(1).get(0));
     System.out.println(aList.get(1).get(1));
if(aList.get(1) instanceof ArrayList){
         System.out.println("True");
     }
     else {
         System.out.println("False");
     }
 ArrayList<Object> aList = new ArrayList<Object>();         

 String firstElement = "Object1";

 ArrayList<String> secondElement = new ArrayList<String>();
 secondElement.add("Object2");
 secondElement.add("Object3");         

 aList.add(firstElement);
 aList.add(secondElement);

 for (int i = 0; i < aList.size(); i++){
     if (aList.get(i) instanceof String ){
         System.out.println( (String) aList.get(i) );
     } 
     if (aList.get(i) instanceof ArrayList){
         System.out.println( ((ArrayList<String>)aList.get(i)).get(0) );
     }         
 }