有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何从列表中创建对象的2D数组?

我想把ArrayList转换成Objects的2D数组。列表类似于

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

我想把这个列表转换成对象数组,我想把Y,N字段修改成布尔值

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

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

将此列表转换为2D对象数组的最佳方式应该是什么,以便我可以传递到JTable{}


共 (1) 个答案

  1. # 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.
    }