繁体   English   中英

数组列表 <ArrayList<String> &gt; to String [] []

[英]ArrayList<ArrayList<String>> to String[][]

它看起来像JTable构造喜欢String[][] ...但我喜欢使用更智能的容器,直到我必须使用其他东西。 一直在使用ArrayList<ArrayList<String>> ,现在我需要让JTable满意String[][]

我找到了一种使用toArray()ArrayList<String>转换为String[]的简单方法,但没有找到多维数组的简易转换器。

我想在最少的行数中从ArrayList<ArrayList<String>>转到String[][]

我一直在搜索图书馆,似乎无法找到这个转换器,并希望有人可以建议一个很好的解决方案。

提前致谢。

ArrayList<ArrayList<String>>在内存中不连续。 这是第二个数组列表存储对ArrayList<String>的引用ArrayList<String> ,并且在每个ArrayLists中,可能有一个大于您放入其中的项目数量的数组。

因此,唯一真正的方法是迭代:

ArrayList<ArrayList<String>> data;

//...

String[][] converted = new String[data.size()][];
for (int i = 0; i < converted.length; i++)
    converted[i] = data.get(i).toArray(new String[data.get(i).size()]);

您可能希望了解如何实现自己的表模型: JTable(TableModel dm)

您可以创建一个扩展AbstractTableModel的类,并将其委托给List或任何其他合适的数据结构。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM