集合 ArrayList的增删改查

    xiaoxiao2023-10-26  156

    集合:存储元素的容器,并且为我们提供规范化的管理 数组:String[] int[] short[] Object[]; 为什么拥有了数组,还使用集合? 因为集合对容器进行了很多规范化的管理: 1. 运用数组: a. int[] arr=new int[10],当用到第十一个元素时,则会越界,不得不扩容,无论new多大的数组,总有不够用的时候,则需要循环性的扩容 b.get arr[index] if(index>0 &&index<arr.length) 运用集合:get(inddex)

    2.数组:引用类型 普通类型 集合: 只能够存放 引用类型 在集合中要存储int需要输入Integer 同理得boolean–>Boolean

    关于ArrayList的增删改查:

    package com.tulun.collection; import java.util.ArrayList; import java.util.Iterator; public class ArrayListTest { public static void main(String[] args) { //jdk ArrayList<String> arrayList = new ArrayList<>(); //加上Integer之后 你的ArrayList只能存放Interger类型的数据 //**增删改查** //**增加** for (int i = 0; i < 10; i++) { arrayList.add(i+"aa");//增加0~9 } //**查询** //index System.out.print(arrayList.get(3)); System.out.println(); //**遍历** 所有的数据都会查询出来 for (int i = 0; i < 10; i++) { System.out.print(arrayList.get(i) + " "); } System.out.println(); //通过foreach 语句 遍历 for (String a : arrayList) { System.out.print(a + " "); } System.out.println(); //迭代器模式 方法遍历 遍历的一个工具 Iterator<String> aLIterator = arrayList.iterator(); while (aLIterator.hasNext()) {//在这判断是否还有下一个元素 String value = aLIterator.next();//通过next 去获取下一个元素 System.out.print(value + " "); } System.out.println(); //**删除** arrayList.remove("3aa");//传具体元素删除 arrayList.remove(3);//传下标删除 for (String a : arrayList) { System.out.print(a + " "); } System.out.println(); //**改 改变原有的值** arrayList.remove(3);//3号下标的元素删掉 arrayList.add(3,"2bb");//又在3号下标的位置 增加一个元素 for (String a : arrayList) { System.out.print(a + " "); } System.out.println(); arrayList.set(3,"2cc");//通过下标直接修改元素 for (String a : arrayList) { System.out.print(a + " "); } System.out.println(); //**判断元素是否存在** boolean contains = arrayList.contains("0aa"); System.out.println(contains); } } 运行结果: 3aa 0aa 1aa 2aa 3aa 4aa 5aa 6aa 7aa 8aa 9aa 0aa 1aa 2aa 3aa 4aa 5aa 6aa 7aa 8aa 9aa 0aa 1aa 2aa 3aa 4aa 5aa 6aa 7aa 8aa 9aa 0aa 1aa 2aa 5aa 6aa 7aa 8aa 9aa 0aa 1aa 2aa 2bb 6aa 7aa 8aa 9aa 0aa 1aa 2aa 2cc 6aa 7aa 8aa 9aa true

    批量的操作

    package com.tulun.collection; import java.util.ArrayList; import java.util.Iterator; public class ArrayListTest { public static void main(String[] args) { ArrayList<Integer> alist = new ArrayList<>(); ArrayList<Integer> blist = new ArrayList<>(); for(int i = 0;i<10;i++){//0~9 alist.add(i); } for(int i = 0;i<10;i++){//5~14 blist.add(i+5); } //批量添加 alist.addAll(blist); // 0 1 2 3 4 5 6 7 8 9 5 6 7 8 9 10 11 12 13 14 // alist.addAll(3,blist); //元素的移动 将alist里面额原下标之后的元素统一后移 // 0 1 2 5 6 7 8 9 10 11 12 13 41 3 4 5 6 7 8 9 ArrayList<Integer> clist = new ArrayList<>(alist); //通过构造函数批量添加 // 0 1 2 3 4 5 6 7 8 9 for(Integer a : alist){ System.out.print(a+" "); } //批量删除 alist.removeAll(blist); //在alist里面删除掉blist里面的元素 //alist 0~9 //blist 5~14 //调用removeAll 之后: 0 1 2 3 4 alist.retainAll(blist); //在alist里面保留blist里面的元素 求集合的交集 //运行结果:5 6 7 8 9 for(Integer a : alist){ System.out.print(a+" "); } // 转成数组 Object[] objects = alist.toArray(); //运行结果:0 1 2 3 4 5 6 7 8 9 for(Object a : objects){ System.out.print(a+" "); } Integer[] arr = new Integer[alist.size()]; //运行结果:0 1 2 3 4 5 6 7 8 9 alist.toArray(arr); for(Integer a : arr){ System.out.print(a+" "); } //转成 子 list List<Integer> subList = alist.subList(3,6); //左闭右开区间 //运行结果:3 4 5 for(Integer a : subList){ System.out.print(a+" "); } }
    最新回复(0)