我们如何向后获取List对象?

时间:2011-01-01 10:05:20

标签: java list iterator

您好我正在获取包含表的pojo类对象的List对象。在我的情况下,我必须以相反的顺序显示表数据。意思是,对于前者 我最近添加时,我正在向数据库中的特定表添加一些行,数据存储在表的最后一行(在数据库中)。在这里我必须以相反的顺序在我的jsp页面中显示该表的全部内容,这意味着我最近插入的内容必须在我的jsp页面中显示第一行。

这里我的代码就像,

List lst = tabledate.getAllData();//return List<Table> Object
Iterator it = lst.iterator();
MyTable mt = new MyTable();//pojo class
while(it.hasNext())
{
     mt=(MyTable)it.next();
     //getting data from getters.
     System.out.println(mt.getxxx());
     System.out.println(mt.getxxx());
     System.out.println(mt.getxxx());
     System.out.println(mt.getxxx());
}

2 个答案:

答案 0 :(得分:9)

使用ListIterator使用hasPrevious()previous()遍历列表:

ListIterator it = lst.listIterator(lst.size());
while(it.hasPrevious()) {
    System.out.println(it.previous());
}

答案 1 :(得分:1)

在这种情况下,您不能使用迭代器。您将需要使用基于索引的访问:

int size = lst.size();
for (int i=size - 1; i >= 0; i --)
{
  MyTable mt = (MyTable)lst.get(i);
  ....
}

顺便说一句:没有必要在循环之前创建一个新的MyTable()。这是一个将立即丢弃并且没有任何用处的实例。