如何在java中解析嵌套的arraylist输出
根据某些条件,我在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
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) );
}
}