A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 黎健东 中级黑马   /  2012-8-29 04:41  /  1581 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. public class Bug3Remove {
  2.     public static void main(String[] args) {
  3.         LinkedList<String> link1 =     new LinkedList<String>();
  4.         
  5.         link1.add("1");
  6.         link1.add("2");
  7.         link1.add("3");
  8.         link1.add("4");

  9.         ListIterator<String>  it1 = link1.listIterator();
  10.         
  11.         int len = link1.size();
  12.         for(int i = 0; i < len; i++){
  13.             System.out.println(link1.get(i));
  14.             link1.removeLast();
  15.             len--;
  16.         }
  17. }
复制代码
使用for,上面的代码能够输出结果,但是使用迭代器的话,如何输出上面的结果呢

5 个回复

倒序浏览
  1. import java.util.*;
  2. public class Demo {


  3.     public static void main(String[] args) {
  4.         LinkedList<String> ll = new LinkedList<String>();
  5.         
  6.         ll.add("1");
  7.         ll.add("2");
  8.         ll.add("3");
  9.         ll.add("4");


  10.                 for(ListIterator<String>  li = ll.listIterator(); li.hasNext();) {
  11.                         String str = li.next();
  12.                         if("3".equals(str)) {
  13.                                 li.remove();
  14.                         }
  15.                 }

  16.                 System.out.println(ll.toString());//[1, 2, 4]
  17.         }

  18. }
复制代码
回复 使用道具 举报
理解错误!!!
用迭代器迭代集合中的元素,就只能用迭代器的方法在迭代的过程中操作元素。
而列表迭代器中没有删除最后一个元素的方法。
所以无能为力。
回复 使用道具 举报
黑马-王言龙 发表于 2012-8-29 09:09
理解错误!!!
用迭代器迭代集合中的元素,就只能用迭代器的方法在迭代的过程中操作元素。
而列表迭代器中 ...

如果集合中的元素非常多,多到不能用int double这种来取他的size,for就不能用了,也许只能考虑迭代器了吧
这个时候,想要取出集合中的前一半元素,并删除集合中后一半元素,这个时候该怎么实现呢?
回复 使用道具 举报
黎健东 发表于 2012-8-29 14:12
如果集合中的元素非常多,多到不能用int double这种来取他的size,for就不能用了,也许只能考虑迭代器了 ...

好想法,保留,思考题...

大数量的数据操作,我只知道,数据库的干活...
回复 使用道具 举报
黑马-王言龙 发表于 2012-8-29 16:17
好想法,保留,思考题...

大数量的数据操作,我只知道,数据库的干活... ...

我把数据库这货忽略了...但是不知道不用数据库的话,怎么做的好
王言龙童鞋能帮我看一下我另外一个很纠结的问题吗
http://bbs.itheima.com/thread-24225-1-1.html
谢谢
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马