0
我有一个嵌套的ArrayList与一些数字。获取嵌套ArrayList的频率
ArrayList<Integer[]> list = new ArrayList<Integer[]>();
list.add(new Integer[] { 1, 2, 3, 4 });
list.add(new Integer[] { 1, 2, 4 });
list.add(new Integer[] { 1, 2 });
我怎样才能得到他们的频率?
有了:
System.out.println(Collections.frequency(list , 1));
我只得到0
代替3
(对我来说)。
这是因为没有任何数组的内容和大小相同。如果您使用的是java 7 +,那么您想使用lambda并将其展平,然后获取频率。 – StackFlowed
'Collections#frequency'的javadoc:返回指定集合中等于指定对象的元素数量。更正式地说,返回集合中的元素e的数量,使得(o == null?e == null:o.equals(e))。'。因为'list.equals(1)'在任何情况下都不会是真的,你的结果是0. – SomeJavaGuy
你需要检查每个内部数组的频率,然后增加数值 – user902383