集合--ArrayList中的方法实现

这篇博客详细介绍了Java集合框架中的List接口及其实现类ArrayList和LinkedList的基本操作,包括添加、删除、查找元素,以及迭代器的使用。示例代码展示了如何在列表中插入、获取、遍历元素,以及如何进行集合间的操作如addAll和removeAll。
摘要由CSDN通过智能技术生成

hmt53214

import java.util.*;

/**
 * Collection集合
 * 1.Set    2.List  3.Map
 * HashSet ArrayList LinkedList  HashMap/
 * 泛型数据类型为Integer而不是Int
*/
public class Demo01 {
    public static void main(String[] args) {

        // 语法错误,Collection是接口,不可以实例化(ps:接口只能通过新的类implements,实施生效)
        //Collection<String> collection=new Collection();

        // 可以使用java.util.Collection中定义的方法,List及ArrayList中添加的方法不可使用。
        //Collection<Integer> arrayList=new ArrayList();

        // 可以使用java.util.Collection中定义的方法,List及LinkedList中添加的方法不可使用。
        //Collection<Integer> collections1=new LinkedList();

        List<String> array1=new ArrayList();
        List<String> array2=new ArrayList();

        array1.add("hmt1");
        array1.add("hmt2");
        array1.add("hmt");
        array1.add("hmt");
        array1.add("arrayList");//add(E e)将指定的元素追加到此列表的末尾。
        array1.add(1,"Test");// void add(int index, E element)在此列表中的指定位置插入指定的元素


        array2.add("TestStart");
        array2.add("11111");//add(E e)将指定的元素追加到此列表的末尾。
        array2.add(1,"you are");// void add(int index, E element)在此列表中的指定位置插入指定的元素



        System.out.println("array1的szie大小:"+array1.size());//返回此列表中的元素数
        System.out.println("array1转换:"+array1.toString());//继承AbstractCollection类的toString方法

        array1.addAll(array2);//addAll(int index, Collection<? extends E> c) 将指定集合中的所有元素插入到此列表中,从指定的位置开始

        System.out.println("array1的szie大小:"+array1.size());
        System.out.println("array1转换:"+array1.toString());

        System.out.println("array2的Size大小:"+array2.size());
        System.out.println("array2转换:"+array2.toString());
/*
        array2.clear();//清除的只是地址值,内容对象还存在
*/
        System.out.println("array2的size大小:"+array2.size());
        System.out.println("array2转换:"+array2.toString());
        System.out.println("第一次出现的索引:"+
                array1.indexOf("hmt")//返回此列表中指定元素的第一次出现的索引,如果此列表不包含元素,则返回-1。
        );

        System.out.println("是否为空:"+array2.isEmpty());//如果此列表不包含元素,则返回 true 。判断是否为空!

        //返回指定的fromIndex (含)和toIndex之间的列表部分的视图。 (如果fromIndex和toIndex相等,返回的列表为空。)返回的列表由此列表支持,因此返回列表中的非结构性更改将反映在此列表中,反之亦然。 返回的列表支持所有可选列表操作。
        System.out.println( "输出视图:"+array1.subList(1,5));
        System.out.println( "输出视图:"+array1.subList(1,1));

        //返回此列表中指定位置的元素。
        System.out.println("array1下标为3的元素为:"+array1.get(3));

        //返回此列表中指定元素的最后一次出现的索引,如果此列表不包含元素,则返回-1。
        System.out.println("最后一次出现的索引值为"+array1.lastIndexOf("hmt"));
        System.out.println("\n ====================================");
        //以正确的顺序返回该列表中的元素的迭代器。
        Iterator<String> it= array1.iterator();
        for (int i=0;i<array1.size();i++){//遍历输出迭代器中内容
            System.out.print("迭代:"+it.next()+"  ");
        }

        System.out.println("\n ====================================");

        //返回列表中的列表迭代器(按适当的顺序)。
        ListIterator<String> listIterator=array2.listIterator();
        for (int i=0;i<array2.size();i++) {//遍历输出迭代器中内容
            String a="TestStart";
            String b=listIterator.next();
            if(a.equals(b)){//对此次迭代内容进行判断,是否相等
                listIterator.remove();//如果相等,则remove这个迭代数据
            }else {
                System.out.print("输出删除后迭代数据:" + b);//如果不相等,则输出该数据。
            }
        }

        System.out.println("\n ====================================");
        System.out.println("迭代删除集合数据后:"+array2.toString());
        System.out.println("\n ====================================");

        System.out.println(array1.toString());
        //remove--删除该列表中指定位置的元素
        array1.remove("hmt1");
        array1.remove(2);//上一个方法执行后的index值
        System.out.println(array1.toString());
        System.out.println("\n ====================================");
        //removeAll方法
        array1.removeAll(array2);//remove  array1中的与array2相似的值
        System.out.println(array1.toString());
        System.out.println("\n ====================================");

        //set方法---用指定的元素(可选操作)替换此列表中指定位置的元素。
        array1.set(2,"胡买提");
        System.out.println(array1.toString());




    }
}

评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值