ArrayList 是 List 接口的实现类。是 List 存储特征的具体实现。 ArrayList 底层是用数组实现的存储。 特点:查询效率高,增删效率低,线程不安全
添加元素
import java.util.ArrayList;import java.util.List;public class ArrayListTest {public static void main(String[] args) {//实例化ArrayList容器List<String> list=new ArrayList<>();//第一种添加元素(collection类中的add),返回布尔值list.add("杭州");System.out.println(list);//第二种添加元素,无返回;index值不能超过元素个数list.add(1,"耿仁龙");System.out.println(list);}}


获取元素


import java.util.ArrayList;import java.util.List;public class ArrayListTest {public static void main(String[] args) {//实例化ArrayList容器List<String> list=new ArrayList<>();//第一种添加元素(collection类中的add),返回布尔值list.add("拉尼");System.out.println(list);//第二种添加元素,无返回;index值不能超过元素个数list.add(1,"耿仁龙");list.add("拉塔恩");System.out.println(list);//获取指定下标的元素,不能越界System.out.println(list.get(0));System.out.println(list.get(1));System.out.println("------------------");for(int i=0;i<list.size();i++){System.out.println(list.get(i));}}}
替换元素

        System.out.println("----替换元素-------");
        String val=list.set(2,"拉塔恩");
        System.out.println(val);  //返回被替换的元素
        for(int j=0;j<list.size();j++){
            System.out.println(list.get(j));
        }
删除元素
根据索引删除元素

System.out.println("------根据索引删除------");
        String val1=list.remove(3);
        System.out.println(val1);  //返回被删除的元素
        for(int i=0;i<list.size();i++){
            System.out.println(list.get(i));
        }

删除指定元素

        boolean val2=list.remove("爱在日落");
        System.out.println(val2);  //返回布尔值,是否删除正确
        for(int i=0;i<list.size();i++){
            System.out.println(list.get(i));
        }
清空容器

        System.out.println("----清空容器--------");
        list.clear();
        System.out.println(list.size());

判断容器是否为空

        System.out.println("-----容器判空------");
        boolean val3=list.isEmpty(); //返回布尔值,true表示容器是空的
        System.out.println(val3);

判断容器是否包含指定元素

String val4=list.contains("耿仁龙");  
System.out.println(val4);  //返回布尔值,是否包含
查找元素的位置索引
查找元素第一次出现的位置索引

//indexOf 方法返回的是元素在容器中第一次出现的位置。
//在容器中不存在则返回-1
int index = list.indexOf("itbz4");
System.out.println(index);
查找元素最后一次出现的位置

//lastIndexOf 方法返回的是元素在容器中最后一次出现的位置,如果元素
//在容器中不存在则返回-1
int lastIndex = list.lastIndexOf("itbz");
System.out.println(lastIndex);
将单例集合转换为数组
转换为Object数组

        System.out.println("--------将单例集合转换为数组------");
        //将arraylist转换为object[]
        //但不能将转换的数组做强制类型转换
        Object[] arr=list.toArray();  //toarray()方法返回一个数组
        for(int i=0;i<arr.length;i++){
            System.out.println(arr[i].getClass());
            String str=(String)arr[i];
            System.out.println(str);
        }
转换为泛型类型数组

        //将单例结合转换为指定类型数组,但需要参考泛型中的类型
        System.out.println("------转换泛型类型数组-----");
        String[] arr2=list.toArray(new String[list.size()]);
        for(int i=0;i<arr2.length;i++){
            System.out.println(arr2[i]);
        }

容器的并集操作

        List<Integer> a=new ArrayList<>();
        a.add(1);
        a.add(2);
        a.add(3);
        List<Integer> b=new ArrayList<>();
        b.add(3);
        b.add(4);
        b.add(5);
        //a并b,最终在a里面,若有一个为空,则并集失败
        boolean flag6=a.addAll(b); //返回结果是个布尔值,判断是否并集成功
        System.out.println(flag6);
        for(Integer inte:a){
            System.out.println(inte);
        }
容器的交集操作

        boolean flag7=a.retainAll(b); //返回布尔值,判断成功与否
        System.out.println(flag7);
        for(Integer inte1:a){
            System.out.println(inte1);
        }
容器的差集操作

        boolean flag8 = a.removeAll(b);
        System.out.println(flag8);
        for(Integer inte3:a){
            System.out.println(inte3);
        }
                    
