java根据点击数对2D数组进行排序
我有两个ArrayList:
数组01:
ArrayList<String> uniqueFiletypes --> which contains unique filetypes (e.g .zip etc..)
数组02:
ArrayList<Integer> countFiletypes --> which counts how many of each filetype there is, for example 8 .zip's
然后直接跳到问题:
我需要做一些“排名”,这意味着最高数量的文件类型将获得第一名,等等
另一个问题:它必须是一个对象[](为了支持JTable),因此可以很容易地显示结果
输出示例:我有8个。拉链,5。java和2。docx
Object[][] = {{"1", ".zip", "8"},{"2", ".java", "5"}, {"3", ".docx", "2"}}
其中{PLACE,FILETYPE,COUNT}
# 1 楼答案
第一种方法:在使用
JTable
时,使用TableRowSorter
,如demo example of tutorial page第二种方法:假设您不仅需要
JTable
# 2 楼答案
我假设两个列表中的项目顺序匹配。也就是说,uniqueFiletypes列表中的第一项的点击数等于countFiletypes列表中的第一个数字
我会做以下几件事:
循环浏览列表,将条目添加到地图中
按降序排列CountFileType列表
从映射中提取文件类型,按照它们现在在有序列表中的顺序添加它们
下面这样的方法可能会奏效:
主方法和系统输出并不是真正需要的,我只是用它们来测试我的解决方案,它产生了以下输出:
诚然,这意味着点击次数和文件类型之间存在联系,这可能不是真的。例如,如果docx和java文件格式都有9次点击,那么这个解决方案就不起作用