Java基础篇--List集合遍历

list遍历

1、通过下标遍历
2、迭代器遍历 Collection 可以通过迭代器,删除集合中的元素
3、for-each Collocation JDK5
4、forEach()方法 需要实现java.util.function.Consumer接口

这里列举了几种方法,希望能够帮助到您

import java.sql.SQLOutput;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
import java.util.List;
import java.util.function.Consumer;

public class list_ergodic {
    public static void main(String[] args) {
        List list = new ArrayList();
        //集合添加名字
        list.add("Tom");
        list.add("Jerry");
        list.add("Jachin");
        list.add("Steve");
        list.add("Job");

       // print1(list);
      // print2(list);
        //print3(list);
        //print4(list);
        print5(list);
    }

        //方法一传统遍历
        static void print1(List list){
            for(int i=0;i<list.size();i++)
            {
                Object o = list.get(i);//获得下标i的元素
                String s = o.toString();
   //           if("Tom".equals(s)) {//如果以这种方式删除Tom,可以尝试一下
   //           list.remove(i);
   //             continue;
   //             /*最后的结果是JACHIN,STEVE,JOB,只是想删除一个tom,最后Jerry也没了。这是因为当执行完删除tom后,
   //                 list会自动往前补,这时jerry的下标变成了0.而遍历下标已经该到1了,所以跳过了jerry;*//*
   //             }*/
                System.out.println(s.toUpperCase());//输出大写
            }
        }
//方法二迭代器
        static void print2(Collection con){
            Iterator it = con.iterator();//返回在此 collection 的元素上进行迭代的迭代器
            while(it.hasNext())
            {
                Object o = it.next();
                String s = o.toString();
       //        if ("Tom".equals(s)){
       //            it.remove();
       //             continue;
       //         }*/
                System.out.println(s.toUpperCase());
            }
        }

//方法三foreach

        static void print3(Collection con) {
            for (Object o : con) {
                String s = (String) o;
           //       if ("Tom".equals(s))
           //         {
           //             con.remove(s);
           //             continue;
           //             //报错
           //             //foreach底层原理也是使用迭代器,foreach不能改变集合,想改变还是要使用原始方法。
           //         }

                System.out.println(s.toUpperCase());
            }

        }

//方法四 forEach内部类
     static void print4(Collection con){
        con.forEach(new Consumer() {
            @Override
            public void accept(Object o) {
                String s = o.toString();
                System.out.println(s.toUpperCase());

            }
        });
     }

//方法五  Lambda表达式
    static  void print5(Collection con){

        con.forEach(System.out::println);
        con.forEach((o)->System.out.println(o));
    }





}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值