ArrayList容器类基础用法

ArrayList容器类

ArrayList是List接口的实例化,是List存储特征的具体实现。

ArrayList底层是用数组实现的存储,特点:查询效率高,增删效率低,线程不安全。

ArrayList类的一些常用方法:

public class ArrayListTest {
    public static void main(String[] args) {
        
        //实例化ArrayList容器
        List<String> list = new ArrayList<>();
        //添加元素
        boolean flag = list.add("hyh");
        boolean flag2 = list.add("csy");
        System.out.println(flag);
        
        //索引的数值不能大于元素的个数
        list.add(1, "love");
        list.add(3, "forever");
        
        System.out.println(list.get(0));
        System.out.println(list.get(1));
        System.out.println(list.get(2));
        System.out.println("---------");
        
        //通过循环获取集合中的所用元素
        //size():返回集合中元素的个数
        for(int i=0;i<list.size();i++){
            System.out.println(list.get(i));
        }
        
        System.out.println("*********");
        //根据索引位置删除元素
        String value = list.remove(1);
        System.out.println(value);
        for(int i=0;i<list.size();i++){
            System.out.println(list.get(i));
        }
        
        System.out.println("**********");
        //删除指定元素
        boolean flag3 = list.remove("hyh");
        System.out.println(flag3);
        for(int i=0;i<list.size();i++){
            System.out.println(list.get(i));
        }
        
        System.out.println("-----替换元素-----");
        String val = list.set(0, "hyh");
        System.out.println(val);
        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("-----判断容器是否为空-----");
        list.add("hyh");
        list.add("love");
        list.add("csy");
        list.add("csy");
        boolean flag4 = list.isEmpty();
        System.out.println(flag4);
        
        System.out.println("-----判断容器中是否包含指定元素-----");
        boolean flag5 = list.contains("csy");
        System.out.println(flag5);
        
        System.out.println("-----查找元素在容器中的位置(索引)-----");
        //indexOf方法返回的是元素在容器中第一次出现的位置
        int index = list.indexOf("csy");
        System.out.println(index);
        System.out.println("-----元素最后一次出现的位置-----");
        //lastIndexOf方法返回的是元素在容器中最后一次出现的位置
        int lastIndex = list.lastIndexOf("csy");
        System.out.println(lastIndex);
        
        System.out.println("-----将单例集合转换为数组-----");
        for(int i=0;i<list.size();i++){
            System.out.println(list.get(i));
        }
        System.out.println("-----转换为object[]-----");
        //将ArrayList转换为Object[]
        //但是不能将转换的数组做强制类型转换
        Object[] arr = list.toArray();
        for(int i=0;i<arr.length;i++){
            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]);
        }
        
        System.out.println("-----容器的并集操作-----");
        List<String> a = new ArrayList<>();
        a.add("a");
        a.add("b");
        a.add("c");
        
        List<String> b = new ArrayList<>();
        b.add("b");
        b.add("c");
        b.add("d");
        
        //a并b
        boolean flag6 = a.addAll(b);
        System.out.println(flag6);
        for (String str : a) {
            System.out.println(str);
        }
        
        System.out.println("-----容器的交集操作-----");
        List<String> a1 = new ArrayList<>();
        a1.add("a");
        a1.add("b");
        a1.add("c");
        
        List<String> b1 = new ArrayList<>();
        b1.add("b");
        b1.add("c");
        b1.add("d");
        boolean flag7 = a1.retainAll(b1);
        System.out.println(flag7);
        for (String str : a1) {
            System.out.println(str);
        }
        
        
        System.out.println("-----容器的差集操作-----");
        List<String> a2 = new ArrayList<>();
        a2.add("a");
        a2.add("b");
        a2.add("c");
        
        List<String> b2 = new ArrayList<>();
        b2.add("b");
        b2.add("c");
        b2.add("d");
        boolean flag8 = a2.removeAll(b2);
        System.out.println(flag8);
        for (String str : a2) {
            System.out.println(str);
        }
    }
}

 

posted @ 2021-09-24 09:42  风中一抹黄  阅读(47)  评论(0)    收藏  举报