【发布时间】:2022-01-18 01:46:14
【问题描述】:
我有一个来自类型 Cell 的 ArrayList。 ArrayList 具有来自 Excelsheet 的单元格的值。
我已经尝试了该站点的不同解决方案,但其中没有一个是正确的。
这就是为什么我没有代码来告诉你我做了什么。
几乎所有解决方案都适用于String。
我需要在我的 ArrayList 中获取最常见的值。
我尝试用cell.getNumericValue() 替换解决方案中的Strings 并更改Double 的类型,但没有成功。
有人可以解决我的问题吗?
Map<Cell, Long> f = dataaccx
.stream()
.collect(Collectors.groupingBy(v -> v, Collectors.counting()));
Cell maxOccurence =
Collections.max(f.entrySet(), Comparator.comparing(Map.Entry::getValue)).getKey();
System.out.println(maxOccurence.getNumericCellValue());
这是我尝试的一个示例。 dataaccx 是我的数组列表。
【问题讨论】:
-
你没有代码是因为没人给你吗?你认为这就是学习编码的方法吗?
-
我编辑了它,我觉得我写的有误会。我的意思是没有解决方案对我有用。我尝试使用这里的解决方案,但没有奏效。
-
如果单元格值有多个相同出现频率的不同值,您建议应该发生什么? IE。最常见的值是 3 和 4,它们出现的次数相同。
-
@M.Gianota 如果有多个不同的值,则应该打印两个值
-
@Unmitigated 它打印的数字不正确。我在我的 Excelsheet 中检查了它,但它没有打印正确的数字。我认为它会打印第一个副本,但我不确定
标签: java list arraylist collections apache-poi