Iterator 怎么判别到最后一个元素   List<Object>  list =  dao.xxx()
   for (Object o : list) {
      if( 循环到最后元素的时候){
         执行;
      }
    
   }价格标记 i = list.size() ,然后 循环内 i-- , 到0的时候执行
感觉这样做有点麻烦
请教下有什么更简洁的方法?

解决方案 »

  1.   


    Item item = list.getItem(list.getItemCount());
    list.delItem(list.getItemCount());

    //for()处理完

    //处理最后的item
    把最后一个item单独拿出来处理行不?
      

  2.   

    list.next().next()==null; 可以么
      

  3.   

    list.get(list.size()-1);
    这样可以得到最后一个元素
      

  4.   

    list里面元素可以重复。所以简单的用对象相当不是很好处理。
    价格标记i=list.size() ,然后循环内 i--,到0的时候执行感觉这样做有点麻烦
    要是真觉得麻烦,
    就这样呗
    for   (int i= 0;list.size();i<i++){
    Object o = list.get(i);
                if(i = list.size()-1){
                      执行;
                }
           
    }
    or
            List list = new ArrayList();
            for   (Iterator it= list.iterator();it.hasNext();){
             Object o = it.next();
             if(!it.hasNext()){
             //do things
             }
            }
      

  5.   


    public static void main(String[] args) {

    List<String> list=new ArrayList<String>();
    list.add("s1");
    list.add("s2");
    list.add("s3");
    list.add("s4");
    for (String string : list) {
    if(string.equals(list.get(list.size()-1))){
    System.out.println("循环到最后元素的时候");
    }
    }
    }
      

  6.   


    ArrayList<Object> list = new ArrayList<Object>();
    Iterator<Object> iter = list.iterator();
    while(iter.hasNext()){
    Object object = iter.next();
    //handle object
    }
      

  7.   

    修改了一下,打印链表最后一个元素,做其他处理也可以 ArrayList<Integer> list = new ArrayList<Integer>();
    list.add(1);
    list.add(2);
    list.add(3);
    list.add(4);
    list.add(5);
    Iterator<Integer> iter = list.iterator();
    Integer n = null;
    while(iter.hasNext()){
    n = iter.next();
    }
    System.out.println(n);