ArrayList类常用方法总结

集合

1、什么是集合

集合又称为容器,用于存储提取删除数据。JDK提供的集合API都包含在 java.util 包内,因此一般要使用集合的的方法时需要引入java.util.ArrayList包。我们一般把存入集合内的数据(可以是基本数据类型,引用类型,方法等任意数据类型)称为元素

注意:集合的底层即为数组,因此集合储存元素时也按照先后的存储顺序给元素排列。

2、集合分支

集合框架有两大分支:Collection接口Map接口

其中Collection的包含关系如下图所示:

3、创建集合对象(此处以ArrayList类型为例)

语法格式:

ArrayList<数据类型> 变量名 = new ArrayList<数据类型>();

“<数据类型>”表示泛型,限定了存储在集合中元素的数据类型,可以自行定义。如果没有自定义,则默认类型为Object,即集合中可以存放任意类型数据。

不限定数据类型实列如下:

import java.util.ArrayList;

public class Test {

    public static void main(String[] args) {
        ArrayList list = new ArrayList<>();
        list.add(10086);
    }
}

ArrayList的常用方法

1、add(Object element) 向列表的尾部添加指定的元素

import java.util.ArrayList;

public class Test {

    public static void main(String[] args) {
        ArrayList list = new ArrayList<>();//创建集合类型对象list
        list.add("Tom");//使用add方法向集合list中添加字符串“Tom”
    }
}

2、size()  返回列表中的元素个数

import java.util.ArrayList;

public class Test {

    public static void main(String[] args) {
        ArrayList list = new ArrayList<>();//创建集合类型对象list
        list.add("Tom");
        int length = list.size();//获取集合中有多少个元素
        System.out.println(list.size());
    }
}

3、get(int  index)   返回列表中指定位置的元素,index0开始

import java.util.ArrayList;

public class Test {

    public static void main(String[] args) {
        ArrayList list = new ArrayList<>();
        list.add("Tom");
        list.add("Jim");
        String str = list.get(0);//获取集合中存放的第一个元素“Tom”并赋值给字符串str
        System.out.println(str);
    }
}

4、clear()  从列表中移除所有元素

import java.util.ArrayList;

public class Test {

    public static void main(String[] args) {
        ArrayList list = new ArrayList<>();
        list.add("Tom");
        list.add("Jim");
        list.clear();//清空集合中所有元素
        System.out.println(list.size());//检验集合中元素个数是否为0
    }
}

5、isEmpty()  判断列表是否包含元素,不包含元素则返回 true,否则返回false

import java.util.ArrayList;

public class Test {

    public static void main(String[] args) {
        ArrayList list = new ArrayList<>();
        list.add("Tom");
        list.add("Jim");
        boolean flag = list.isEmpty();//使用isEmpty方法判断集合是否为空,并将boolean结果赋给flag
        System.out.println(flag);//输出flag
    }
}

6、remove(int  index)  移除列表中指定索引位置(从0开始)的元素,并返回被删元素,同时后面元素向前移动

import java.util.ArrayList;

public class Test {

    public static void main(String[] args) {
        ArrayList list = new ArrayList<>();
        list.add("Tom");
        list.add("Jim");
        System.out.println(list.size());//输出移除前集合元素个数
        String str = list.remove(0);//将移除的字符串赋给str
        System.out.println(list.size());//输出移除后集合元素个数
        System.out.println(str);
    }
}

7、remove(Object o)  移除集合中第一次出现的指定元素,移除成功返回true,否则返回false

import java.util.ArrayList;

public class Test {

    public static void main(String[] args) {
        ArrayList list = new ArrayList<>();
        list.add("Tom");
        list.add("Jim");
        System.out.println(list.size());//输出移除前集合元素个数
        boolean flag = list.remove("Tom");//将移除结果赋给flag
        System.out.println(list.size());//输出移除后集合元素个数
        System.out.println(flag);//打印移除是否成功
    }
}

8、contains(Object o)  如果列表包含指定的元素,则返回 true

import java.util.ArrayList;

public class Test {

    public static void main(String[] args) {
        ArrayList list = new ArrayList<>();
        list.add("Tom");
        list.add("Jim");
        boolean flag = list.contains("Jim");//判断数组里是否存在“Jim”元素
        System.out.println(flag);//打印判断结果
    }
}

思考:contains判断过程如何实现?

我们使用Ctrl+单击方法,找到contains()方法在所在ArrayList类中的位置。底层代码如下:

public boolean contains(Object o) {
    return indexOf(o) >= 0;
 }
public int indexOf(Object o) {
    if (o == null) {
        for (int i = 0; i < size; i++)
            if (elementData[i]==null)
                return i;
    } else {
        for (int i = 0; i < size; i++)
            if (o.equals(elementData[i]))//由于o是个上转型对象,因此o其实调用的是String类中的对象,此处属于多态
                return i;
    }
    return -1;
}

可以看出,程序将String类型的“Jim”传递给变量o,又变量o的类型为Object,因此o上是上转型对象

此处仅简要分析,详细剖析contains()方法底层代码见于:分析ArrayList实现类中contains()方法底层代码


9、add(int index, Object element)  在列表的指定位置插入指定元素,原来位置元素后置

import java.util.ArrayList;

public class Test {

    public static void main(String[] args) {
        ArrayList list = new ArrayList<>();
        list.add("Tom");
        list.add("Jim");
        System.out.println(list.get(0));//打印原来集合中第一个元素
        list.add(0,"Kate");//在集合第一位置添加Kate元素
        System.out.println(list.get(0));//打印添加后集合中第一个元素
    }
}

10、set(int i, Object element) 将索引i位置元素替换为元素element并返回被替换的元素

import java.util.ArrayList;

public class Test {

    public static void main(String[] args) {
        ArrayList list = new ArrayList<>();
        list.add("Tom");
        list.add("Jim");
        System.out.println(list.get(0));//打印原来集合中第一个元素
        list.set(0,"Kate");//把集合中第一个元素替换为Kate元素
        System.out.println(list.get(0));//打印添加后集合中第一个元素
    }
}

11、iterator()  返回按适当顺序在列表的元素上进行迭代的迭代器

import java.util.ArrayList;

public class Test {

    public static void main(String[] args) {
        ArrayList list = new ArrayList<>();
        list.add("Tom");
        list.add("Jim");
        Iterator<String> iterator = list.iterator();//将list集合中的元素转移到iterator变量中(list集合里的元素仍然存在)
        while(literator.hasNext){//判断当前“指针”下是否还有元素,返回布尔值
            System.out.println(literator.next());//向下移动“指针”,并输出所在位置的值
        }
    }
}

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值