ArrayList常用方法名介绍

常用方法名介绍

常用方法名说明
public boolean add (E e)将指定的元素添加到此集合的末尾
public void add (int index,E element)在此集合中的指定位置插入指定的元素
public E get(int index)返回指定索引处的元素
public int size ()返回集合中的元素个数
public E remove (int index)删除指定索引处的元素,返回被删除的元素
public boolean remove (Object o)删除指定的元素,返回删除是否成功
public E set (int index,E element)修改指定索引处的元素,返回被修改的元素

 代码演示

import java.util.ArrayList;

public class ArrayListDemo1 {
    public static void main(String[] args) {
        //1.创建一个ArrayList的集合对象
        ArrayList<String> list = new ArrayList();
        list.add("wgj");
        list.add("java");
        list.add("wgj");
        System.out.println(list);//[wgj,java.wgj]

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

        //2.在集合中的某个索引位置处添加一个数据
        list.add(1,"MySQL");
        System.out.println(list);//[wgj,MySQL,java,wgj]

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

        //3.根据索引获取集合中某个索引位置处的值
        String rs = list.get(1);
        System.out.println(rs);//MySQL

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

        //4.获取集合大小(返回集合中存储的元素个数)
        System.out.println(list.size());//4

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

        //5.根据索引删除集合中的某个元素值,会返回被删除的元素值给我们
        System.out.println(list.remove(1));//MySQL
        System.out.println(list);//[wgj,java,wgj]

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

        //6.直接删除某个元素值,删除成功会返回true,反之
        //默认删除第一次出现的这个值
        System.out.println(list.remove("wgj"));//true
        System.out.println(list);//[java,wgj]

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

        //7.修改某个索引位置处的数据,修改后会返回原来的值给我们
        System.out.println(list.set(1,"java"));//wgj
        System.out.println(list);//[java,java]
    }
}

简单应用案例介绍

        假如你打算学java,在购物车中添加了几件商品java相关的书,现在你的购物车里有:雨伞,java入门,java进阶,拖鞋,java精通,java大神,衬衫。但是你突然不想学java了,想把和java有关的书都从购物车清除。

import java.util.ArrayList;

public class ArrayListTest2 {
    public static void main(String[] args) {
        //1.创建一个ArrayList集合对象
        ArrayList<String> list = new ArrayList<>();
        list.add("雨伞");
        list.add("java入门");
        list.add("java进阶");
        list.add("拖鞋");
        list.add("java精通");
        list.add("java大神");
        list.add("衬衫");
        System.out.println(list);

        //2.开始完成需求,从集合中找出包含java的数据并删除它
        for (int i = 0; i < list.size(); i++) {
            //i = 0 1 2 3 4 5 6
            //取出当前遍历到的数据
            String date = list.get(i);
            //判断这个数据中包含java
            if(date.contains("java")){
                //直接从集合中删除该数据
                list.remove(date);
                i--;//i--很重要,没有i--会导致删除不全。
            }
        }
        System.out.println(list);
    }
}

 输出结果:

 

 删除集合数据中的i--很重要,没有i--会导致删除不全。会出现下图情况:

        当删除了java入门后,后面的所有数据会向前移动,java进阶就到了之前java入门的位置了,但是这时候i+1之后来到了拖鞋的位置,会把java进阶漏掉,后面的java大神也是同理,所以我们要用i--来修正。或者说我们可以从后往前来删除和java相关的数据。

只需要修改一下for循环:

for (int i = list.size()-1; i >=0 ; i--) {
    //i = 6 5 4 3 2 1 0
    //取出当前遍历到的数据
    String date = list.get(i);
    //判断这个数据中包含java
    if(date.contains("java")){
        //直接从集合中删除该数据
        list.remove(date);
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值