我有两组字符串,每种字符串都采用以下格式:
Set1(Names) Set2(Sizes)
Pics 450 KB
Videos 50 MB
Music 32 MB
这两个集合是LinkedHashSets,因此保证了顺序。套装也保证尺寸相同。
我需要以上面的格式在JTable中显示这两个集合。当然,最简单的方法是创建一个2D数组,但我对每个数组的顺序感到困惑。
最好的方法是什么?理想情况下,它不需要迭代集合,但通常情况下,集合的大小小于10。
答案 0 :(得分:2)
您无需创建2D数组 - 请参阅DefaultTableModel.addColumn。所以你可以使用:
JTable table = new JTable();
DefaultTableModel model = (DefaultTableModel)table.getModel();
model.addColumn("Names", s1.toArray(new String[0]));
model.addColumn("Sizes", s2.toArray(new String[0]));
很抱歉,如果语法略有偏离 - 现在不在IDE上。
答案 1 :(得分:1)
Set<String> namesSet = ...;
Set<String> sizesSet = ...;
String[] names = namesSet.toArray(new String[namesSet.size()]);
String[] sizes = sizesSet.toArray(new String[sizesSet.size()]);
String[][] namesAndSizes = {names, sizes};