[英]Java, How do i add values to Object array
我需要动态地将值添加到对象数组并将该数组变量传递给函数。
如果我手动添加值,则效果很好。
Object[][] listData = {{"Cheese", "Pepperoni", "Black Olives"},{"Cheese",
"Pepperoni", "Black Olives"}};
这是需要使用listData的功能。
TableModel tblModel = new DefaultTableModel(new String[]{"Date", "Action", "Amount"}, listData);
但是如何从for循环中将值添加到listData中呢?
ArrayList<Map<String, Object>> sampleArray = (ArrayList)myPremiumspaid.get("Data");
for(int x =0; x<sampleArray.size(); x++)
{
//sampleArray.get(x).get("YearMonth");
//listData[][] = ""; stuck here
}
数组是固定大小的 ,创建数组Object后,您无法更新它的大小/不能放大它的大小。 因此,要达到动态尺寸或自动增长尺寸的目的,您需要使用List即。 ArrayList 。
Object[][] listData = {{"Cheese", "Pepperoni", "Black Olives"},{"Cheese",
"Pepperoni", "Black Olives"}};
代替:
List<List<Object>> listData=new ArrayList<List<Object>>();
listData.add(Arrays.asList("Cheese", "Pepperoni", "Black Olives"));
listData.add(Arrays.asList("Cheese", "Pepperoni", "Black Olives"));
但是需要将此ArrayList传递给采用array的函数,因此,您可以将ArrayList转换为array object 。
TableModel tblModel = new DefaultTableModel(new String[]{"Date", "Action", "Amount"}, (Object[][]) listData.toArray());
但是如何从for循环中将值添加到listData中呢? 现在,您可以按照以下步骤进行操作:
ArrayList<Map<String, Object>> sampleArray = (ArrayList)myPremiumspaid.get("Data");
for(int x =0; x<sampleArray.size(); x++)
{
//sampleArray.get(x).get("YearMonth");
listData.get(x).add(sampleArray.get(x).get("YearMonth"));
}
代号一个的DefaultTableModel
有一个addRow方法,该方法接受一个数组或一系列对象,因此只需使用:
((DefaultTableModel)tblModel).addRow("Cheese", "Pepperoni", "Black Olives");
应该管用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.