我有4个系列,每个系列包含在特定时刻保存的时间。我会说我的问题相当普遍,所以集合包含的内容并不重要。我想知道如何在同一时间循环这些集合,获得大小并返回最长的集合。这有意义吗?
答案 0 :(得分:3)
为什么要迭代一个Collection以了解它的大小?集合有size()
方法
答案 1 :(得分:0)
如果您有实现接口Collection的集合,则可以使用
Collection.size();
提供集合的长度。
然后你可以比较size()调用的结果,找到最长的集合。
您不必遍历集合中的所有项目。
答案 2 :(得分:0)
有不同的方式:
我认为您应该采用第二种方法并将大小存储在变量中,并在新集合更大时替换它。
int size = -1;
for (Collection col : allCollections) {
if (col.size() > size) size = col.size();
}
答案 3 :(得分:0)
这是一个例子 -
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
这就是你想要的吗?