循环遍历java代码中的多个集合 3 日,17 小时 Questions & Answers 211 我有4个集合,每个集合都包含在特定时刻节省的时间。我想说的是,我的问题相当笼统,所以藏品包含的内容并不重要。我想知道我怎么可能在同一时间循环这些集合,获得大小并返回最长的集合。这有意义吗
# 2 楼答案 有不同的方式: 例如,可以使用Apache Commons中的CollectionUtils将集合合并为一个集合 你可以将你的收藏放入另一个收藏/列表中。集合正在实现迭代器,所以您可以简单地遍历它们李> 可以递归调用给定集合的方法李> 我认为应该使用第二种方法,将大小存储在变量中,如果新集合更大,则替换它 int size = -1; for (Collection col : allCollections) { if (col.size() > size) size = col.size(); }
# 4 楼答案 以下是一个例子: 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); 这是输出 L1 size 2 L2 size 3 L3 size 4 L4 size 3 Largest Array is = l4 这就是你想要的吗
# 1 楼答案
为什么要迭代一个集合以了解其大小?集合具有
size()
方法# 2 楼答案
有不同的方式:
我认为应该使用第二种方法,将大小存储在变量中,如果新集合更大,则替换它
# 3 楼答案
如果您有实现接口集合的集合,那么只需使用
提供收藏的长度
然后可以比较size()调用的结果,以找到最长的集合
您不必迭代集合中的所有项
# 4 楼答案
以下是一个例子:
这是输出
这就是你想要的吗