我试图找出一种在java中打印ArrayList的方法,该方法遵循如下模式:
输入
<a, B, B, B, a, But, But, a, yes, a> // ArrayList
输出
<a, <B,B,B>, a, <But,But>, a, <yes>,a> // ArrayList within the ArrayList
我需要在&#39; a&#39;之间打印所有字符串。应该在另一个列表中的单独列表中。 但是,我完全不知道如何实现这一目标。拜托,有人可以帮帮我吗?我尝试在网上搜索类似的问题,但是,在搜索中对它进行正确的搜索非常困难。
答案 0 :(得分:0)
您可以iterate
超过您的第一个List
,然后其中一个元素是Iterable
(Set
,List
,...)您在此recursively
对象
Iterable
相同的方法
public static void print(Iterable<Object> i) {
for (Object o : i){
if (o instanceof Iterable)
print((Iterable) o);
else
System.out.println(o);
}
}
如何使用的示例:
public static void main(String[] args) {
List<Object> list = new ArrayList<>();
list.add("a");
list.add(Arrays.asList("tt", "tt", 76));
list.add("a");
list.add(65);
print(list);
}