循环遍历java代码中的多个集合

循环遍历java代码中的多个集合,java,collections,for-loop,Java,Collections,For Loop,我有4个集合,每个集合都包含在特定时刻节省的时间。我想说的是,我的问题相当笼统,所以藏品包含的内容并不重要。我想知道我怎么可能在同一时间循环这些集合,获得大小并返回最长的集合。这有意义吗?为什么要迭代集合以了解其大小?Collection has size method如果有实现接口集合的集合,则可以使用 Collection.size(); 提供集合的长度 然后,您可以比较大小调用的结果以查找最长的集合 您不必迭代集合中的所有项。有不同的方法: 例如,您可以使用来自ApacheCommons

我有4个集合,每个集合都包含在特定时刻节省的时间。我想说的是,我的问题相当笼统,所以藏品包含的内容并不重要。我想知道我怎么可能在同一时间循环这些集合,获得大小并返回最长的集合。这有意义吗?

为什么要迭代集合以了解其大小?Collection has size method

如果有实现接口集合的集合,则可以使用

Collection.size();
提供集合的长度

然后,您可以比较大小调用的结果以查找最长的集合


您不必迭代集合中的所有项。

有不同的方法:

例如,您可以使用来自ApacheCommons的命令将集合合并为一个集合 您可以将您的收藏放入另一个收藏/列表中。集合正在实现迭代器,所以您可以简单地遍历它们。 可以递归调用给定集合的方法。 我认为应该使用第二种方法,将大小存储在变量中,如果新集合更大,则替换它

int size = -1;
for (Collection col : allCollections) {
    if (col.size() > size) size = col.size();
}
这里有一个例子-

List<Integer> l1=new ArrayList<Integer>();
List<Integer> l2=new ArrayList<Integer>();
List<Integer> l3=new ArrayList<Integer>();
List<Integer> l4=new ArrayList<Integer>();

l1.add(1);l1.add(1);
l2.add(2);l2.add(2);l2.add(2);
l3.add(3);l3.add(3);l3.add(3);l3.add(3);
l4.add(4);l4.add(4);l4.add(4);

System.out.println("L1 size "+l1.size());
System.out.println("L2 size "+l2.size());
System.out.println("L3 size "+l3.size());
System.out.println("L4 size "+l4.size());
String array="l1";
int i=l1.size();
if(i<l2.size())
    array="l2";
if(i<l3.size())
    array="l3";
if(i<l4.size())
    array="l4"; 
System.out.println("Largest Array is = "+array);

这就是你想要的吗?

请告诉我们你昨天吃了什么没有意义。您能给出示例输入、预期输出以及到目前为止您已经尝试过的内容吗?参考您使用的类的Java文档将是一个好主意。同时您所说的是什么意思?从字面上看,或者只是拿一些收藏,在某个时间点比较它们的内容?你能举个例子来解释你想做什么吗?他同时在说。。。4个集合…也许他想要迭代集合集合;
L1 size 2
L2 size 3
L3 size 4
L4 size 3
Largest Array is = l4