java iterator remove_java Iterator.remove()实例方法分析

今天看到,java的nio里面的selectionkey,处理完key后,调用keyiterator.remove(); 对iterator的remove()方法不是很熟悉,小测试了下,代码如下:

list list = new arraylist();

for (int i = 0; i < 10; i++) {

string str = i + "";

list.add(str);

}

java.util.iterator it = list.iterator();

for (int i = 0; i < 5; i++) {

system.out.println((string) it.next());

}

it.remove();

system.out.println("");

it = list.iterator();

while (it.hasnext()) {

system.out.println((string) it.next());

}

0

1

2

3

4

0

1

2

3

5

6

7

8

9

很明显,remove()去掉的是当前it.next()返回的元素.到这里有个疑问,这个remove之后对下面的元素遍历有没有影响呢?又测试下,代码如下:

list list = new arraylist();

for (int i = 0; i < 10; i++) {

string str = i + "";

list.add(str);

}

java.util.iterator it = list.iterator();

// for (int i = 0; i < 5; i++) {

// system.out.println((string) it.next());

// }

// it.remove();

// system.out.println("");

// it = list.iterator();

// while (it.hasnext()) {

// system.out.println((string) it.next());

//

// }

while (it.hasnext()) {

system.out.println((string) it.next());

it.remove();

}

运行代码如下:

0

1

2

3

4

5

6

7

8

9

remove()后,对下面的元素遍历没影响 .完毕!

实例扩展:

@test

public void tt(){

list list = new arraylist();

list.add( "0" );

list.add( "1" );

list.add( "2" );

list.add( "3" );

list.add( "4" );

list.add( "5" );

list.add( "6" );

list.add( "7" );

list.add( "8" );

list.add( "9" );

list.add( "10" );

list.add( "11" );

list.add( "12" );

list.add( "13" );

list.add( "14" );

list.add( "15" );

list.add( "16" );

list.add( "17" );

list.add( "18" );

list.add( "19" );

list.add( "20" );

int i = 0;

iterator it = list.iterator();

while ( it.hasnext() ) {

string str = it.next();

if ( i % 2 == 0 ) {

system.out.println( i + "===" + str );

it.remove();

}

i++;

}

for ( string str : list ) {

system.out.println( str );

}

}

到此这篇关于java iterator.remove()实例方法分析的文章就介绍到这了,更多相关java iterator.remove()方法内容请搜索萬仟网以前的文章或继续浏览下面的相关文章希望大家以后多多支持萬仟网!

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值