如何声明Java Array并将数据插入其中

时间:2012-04-03 16:02:31

标签: java

我是Java的新手。我想创建Java Array并将数据插入其中。我找到了这段代码:

ArrayList<SessionsArray> sessionList = 
        new ArrayList<SessionsArray>(

      Arrays.asList( new SessionsArray("A0001", "Intel CPU", new BigDecimal("700.00"), 1),
             new SessionsArray("A0002", "Harddisk 10TB", new BigDecimal("500.00"), 2),
             new SessionsArray("A0003", "Dell Laptop", new BigDecimal("11600.00"), 8),
             new SessionsArray("A0004", "Samsung LCD", new BigDecimal("5200.00"), 3),
             new SessionsArray("A0005", "A4Tech Mouse", new BigDecimal("100.00"), 10)
    ));

如何在部件中声明数组并插入和删除数据呢?像这样:

//declare the Array

ArrayList<SessionsArray> sessionList = new ArrayList<SessionsArray>();

//insert into Array

ArrayList<SessionsArray>(Arrays.asList( new SessionsArray("A0001", "Intel CPU", new BigDecimal("700.00"), 1),
             new SessionsArray("A0002", "Harddisk 10TB", new BigDecimal("500.00"), 2),
             new SessionsArray("A0003", "Dell Laptop", new BigDecimal("11600.00"), 8),
             new SessionsArray("A0004", "Samsung LCD", new BigDecimal("5200.00"), 3),
             new SessionsArray("A0005", "A4Tech Mouse", new BigDecimal("100.00"), 10)
    ));

祝福

 **EDIT** 

我想使用它,因为我想从数据库中获取数据并将其传递给JSF页面?是否有其他方法可以将数据从数据库传递到JSF页面?

**EDIT 2**

如何仅从列表中删除一个元素,仅举例A0002

4 个答案:

答案 0 :(得分:3)

使用addAll()

//declare the ArrayList

ArrayList<SessionsArray> sessionList = new ArrayList<SessionsArray>();

//insert into the ArrayList

sessionList.addAll(Arrays.asList(
      new SessionsArray("A0001", "Intel CPU", new BigDecimal("700.00"), 1),
      new SessionsArray("A0002", "Harddisk 10TB", new BigDecimal("500.00"), 2),
      new SessionsArray("A0003", "Dell Laptop", new BigDecimal("11600.00"), 8),
      new SessionsArray("A0004", "Samsung LCD", new BigDecimal("5200.00"), 3),
      new SessionsArray("A0005", "A4Tech Mouse", new BigDecimal("100.00"), 10)
    ));

P.S。正如其他人所指出的,数组和ArrayLists并不相同。您使用的是ArrayList。它是一个实现List接口的集合类,由内部数组支持

答案 1 :(得分:2)

您查看的示例对于基本的Java数组来说非常复杂。实际上它不使用数组,它使用ArrayList,它是一个模拟数组的数据结构,但提供了方便的实用函数。

我建议阅读有关数组的一些基本文章。从这里开始:http://docs.oracle.com/javase/tutorial/java/nutsandbolts/arrays.html

答案 2 :(得分:1)

这是一个ArrayList,而不是一个数组。 ArrayLists是动态数组。如果您希望使用ArrayList,只需使用add()方法向其中添加信息即可。 (或者像其他人提到的那样添加addAll()。)

如果您希望使用数组,则可以使用不同的语法。你需要动态吗?如果没有,开销可能不值得。这主要取决于你使用它的目的。

答案 3 :(得分:1)

固定为1比1添加

//declare the Array

ArrayList<SessionsArray> sessionList = new ArrayList<SessionsArray>();

//insert into Array

sessionList.add( new SessionsArray("A0001", "Intel CPU", new BigDecimal("700.00"), 1));
sessionList.add( new SessionsArray("A0002", "Harddisk 10TB", new BigDecimal("500.00"), 2));
sessionList.add( new SessionsArray("A0003", "Dell Laptop", new BigDecimal("11600.00"), 8));
sessionList.add( new SessionsArray("A0004", "Samsung LCD", new BigDecimal("5200.00"), 3));
sessionList.add( new SessionsArray("A0005", "A4Tech Mouse", new BigDecimal("100.00"), 10));

回答你的编辑2:如何删除包含“A0002”的SessionsArray:

for(int i = 0; i< sessionList.size(); i++)
{
   if(sessionList[i].nameOfFieldWithA0002.equalsIgnoreCase("A0002"))
   {
       sessionList.remove(i);
       break;
   }
}