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); } } }
                    
                
                
            
        
浙公网安备 33010602011771号