我有两个ArrayLists:
数组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
要直接跳到问题:
我需要做一些“排名”,这意味着最高的文件类型数量排在第一位等等......
另一个问题:它必须是一个Object [] [](支持JTable),因此可以很容易地显示结果。
输出示例:我有8个.zips,5个.java和2个.docx
Object[][] = {{"1", ".zip", "8"},{"2", ".java", "5"}, {"3", ".docx", "2"}}
{PLACE,FILETYPE,COUNT}
答案 0 :(得分:0)
第一种方法:当您使用JTable
时,请使用demo example of tutorial page
TableRowSorter
第二种方法:假设您不仅需要JTable
Object[][] array = {{"1", ".zip", "8"},{"2", ".java", "5"}, {"3", ".docx", "2"}};
List<Object[]>data = Arrays.asList(array);
Comparator<Object[]>comparator = new Comparator<Object[]>() {
@Override
public int compare(Object[] o1, Object[] o2) {
return ((String)o1[2]).compareTo((String)o2[2]);
}
};
Collections.sort(data, Collections.reverseOrder(comparator));
array = (Object[][]) data.toArray();