前端转战JAVA——1114(集合遍历)

  • 集合常用遍历方法
package com.lhb.tool;

import java.util.*;
import java.util.function.Consumer;

public class ArrayListDemo {
    public static void main(String[] args) {
        //list系列:有序、可重复、有索引
        //set系列:无序、不重复、无索引
//        Collection();
//        SuperFor();
//        LambdaForech();
        SpecialList();
    }
    public static void Collection() {
        Collection<String> coll = new ArrayList<>();
        coll.add("aaa"); //list系列添加返回值永远是true,但是set不允许重复,重复添加返回false;
        coll.clear(); //清空
        coll.remove("aa");//删除成功TRUE  失败FALSE
        coll.contains("aa");//集合是否有aa  底层用的equal判断值 是否相等,如果想判断自定义对象,需要重写equals方法,在对象的javabean中
        coll.isEmpty(); //集合是否为空

        //迭代器,集合专用遍历方法
        coll.add("bbb");
        coll.add("ccc");
        coll.add("ddd");
        Iterator<String> iterator = coll.iterator();
        //迭代完成后,指针不会复位
        //迭代器next(),获取值得同时还会指针+1;
        //迭代器遍历时,不能用集合的删除,只能用迭代器的删除方法(指针错乱)
        while (iterator.hasNext()) {
            System.out.println(iterator.next());
        }
    }
    public static void SuperFor() {
        Collection<String> coll = new ArrayList<>();
        coll.add("aaaa");
        coll.add("bbaa");
        coll.add("ccaa");
        //s其实就是第三方变量,在循环过程中就是集合中的每一个数据
        for (String s : coll) {
            System.out.println(s);
        }
    }
    public static void LambdaForech() {
        Collection<String> coll = new ArrayList<>();
        coll.add("1");
        coll.add("22");
        coll.add("333");
        coll.add("4444");
        coll.forEach(new Consumer<String>() { //匿名内部类实现forEach
            @Override
            public void accept(String s) {
                System.out.println(s);
            }
        });
        coll.forEach(i -> {
            System.out.println(i);
        });
    }


    //List集合的特有方法
    public static void SpecialList() {
        List<String> list = new ArrayList<>();
        list.add("aaa");
        list.add(1, "bbb"); //插入元素
        System.out.println(list);
        list.remove(0); //删除指定索引元素 返回被删除的元素
        list.remove("bbb"); //删除指定元素 返回被删除的元素
        System.out.println(list);

        List<Integer> list1 = new ArrayList<>();
        list1.add(2);
        list1.add(1);
//        list1.remove(1); //当想删除的元素值和索引值类型一致时,出现在方法的重载 优先调用形参和实参一致的方法
//        list1.remove(Integer.valueOf(1)); //这个就是阐述的1
        list1.set(0, 3);//修改索引为0的值为3 返回被修改的元素值
        list1.get(0); //返回0索引元素


        Iterator<String> it = list.iterator();
        while (it.hasNext()) {
            System.out.println(it.next());
        }
        for (String s : list) {
            System.out.println(s);
        }
        list.forEach(i-> System.out.println(i));

        for (int i = 0; i < list.size(); i++) {
            System.out.println(list.get(i));
        }
        //列表迭代器
        list.add("cccc");
        ListIterator<String> it1 = list.listIterator();
        while (it1.hasNext()) {
            it1.add("cc");
            it1.next();
        }
        System.out.println(list);
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值