如何从List创建Object的2D数组?

时间:2013-03-02 10:12:36

标签: java arrays swing arraylist jtable

我想将ArrayList转换为Objects的2D数组。列表就像

[[AD,ADCB, N], [AFC, Fund, Y], [IO, dfdfdfd, N]]

我想将此List转换为对象数组,我想将Y,N字段修改为布尔值,例如

Object[] rowdata = {
    {AD, ADCB, Boolean.FALSE}, 
    {AFC, Fund, Boolean.TRUE}, 
    {IO, dffdfdf, Boolean.FALSE}}

之后我可以填入JTable模型,这些boolean值将显示为JCheckboxes

将此列表转换为2D对象数组的最佳方法是什么,以便我可以传入JTable TableModel

1 个答案:

答案 0 :(得分:1)

在您的示例中,您显示每个对象有三个成员要存储。因此,如果N是你的arraylist中的项目数,你需要一个N * 3的多维数组。即:

Object[][] table = new Object[list.size()][3];

然后你将使用for循环来遍历列表中的每个对象:

for(int x = 0; x < list.size(); x++)
{
     Object currentObject = list.get(x);
     table[x][0] = currentObject.getValue();
     // Load the first value.
     ...
     table[x][2] = currentObject.getYorN().equalsIgnoreCase("Y")? true:false;
     // Embed a selection statement to decide if to store true or false.
}