JAVA基础整理(迭代器,Set集合 TreeSet)

如何遍历list

JDK1.7之前底层有一个大小为10的空数组,但是用的无参数,集合中没有元素,所以size为0

JDK1.8 之后提供了优化,不会创建一个10大小的数组,调用add函数,开始开辟堆空间,即数组大小

普通for循环 for(;?

增强for循环 (底层就是使用的迭代器实现,所以只能打印,不能赋值)

for(object e:list){
   
    system.out.println(e);
}

迭代器遍历

hasNext会把指针向下移动来判断下一个是否有值

hasNext()判断迭代器中是否还有下一个元素 有ture
next() 获取上一个元素
remove() 迭代器中的删除方法,删除会同步到集合中,切记绝对不能在迭代器中使用集合对象删除元素,因为无法同步给迭代器对象
Iterator it = list.iterator();
while(it.hasNext()){
   
    system.out.println(it.next());
    //迭代器中禁止使用集合对象删除集合中的元素,只能使用迭代器的方法删除
}
for(Iterator its = list.iterator();its.hasNext;){
   
    system.out.println(it.next());
}

当前没有Iterator的时候,迭代器使用Enumeration——这个只适用于Vector(了解)

Vector v = new Vector();
v.addAll(list);
//迭代遍历
Enumeration elements = v.elements(); //需要判断是否还有下一个元素      
while(elements
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值