• 每日学习03--List与ArrayList的区别以及Arraylist的方法


    在进行开发创建数组的时候会发现会有下面这种情况,这是为什么?又有什么区别?
    1.List list=new ArrayList()
    2.ArrayList arrayList = new ArrayList()
    以上两种都是可以的,但是不推荐第二种,
    在这里插入图片描述

    List是接口,它是不可以被实例化的(接口是个抽象类),所以必须以它的实现类去实例化它。
    ArrayList是List的实现类(ArrayList实现了List接口),是一个ArrayList对象,它可以使用ArrayList的所有方法。也就是说接口中的变量不能使用实现类中有,接口中没有的方法

    另外如果List与ArrayList中有相同的属性(如int i),有相同的方法(如void f()), 则a.i是调用了List中的i ,a.f()是调用了ArrayList中的f();

    所以推荐第一种创建数组的方法问题就在于:
    List接口有多个实现类,现在你用的是ArrayList,也许哪一天你需要换成其它的实现类,如 LinkedList或者Vector等等,这时你只要改变这一行就行了: List list = new LinkedList(); 其它使用了list地方的代码根本不需要改动。
    假设你开始用ArrayList alist = new ArrayList(), 就很麻烦,特别是如果你使用了ArrayList实现类特有的方法和属性。

    Arraylist的方法在这

    <>中为一个类,称之为泛型,用于限定集合中元素的类,不能是基本数据类型,若不写,则默认为Object类

    1、add(Object element) 方法
    add(Object element) 方法用于向ArrayList集合中的添加元素。

    import java.util.ArrayList;
    public class Test {    
    	public static void main(String[] args) {
    		ArrayList<String> list = new ArrayList<String>();
    		list.add("Tom"); 
    		list.add("Jim"); 
    	}
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    2、size() 方法
    size()方法用于返回ArrayList集合中元素个数

    int length = list.size();
    
    • 1

    3、get(int index) 方法
    get(int index)方法用于返回集合中对应位置的元素

    list.get(0);
    
    • 1

    4、add(int index, Object element) 方法
    add(int index, Object element) 方法用于在集合指定位置添加元素,原集合中从指定位置开始的元素全部后置

    list.add(0,"Kate");//指定位置添加元素,从指定位置开始原来元素后移
    
    • 1

    5、set(int i, Object element) 方法

    list.set(1, "Lucy");//指定位置替换元素
    
    • 1

    6、clear() 方法

    list.clear();//清空List集合中的所有元素
    
    • 1

    7、isEmpty() 方法

    boolean flag = list.isEmpty();//判断集合容器是否为空,如果为空,则返回true,否则返回false
    
    • 1

    8、iterator()

    import java.util.ArrayList;
    import java.util.Iterator;
     
    public class Test {    
    	public static void main(String[] args) {
    		ArrayList<String> list = new ArrayList<String>();
    		list.add("Tom"); 
    		list.add("Jim"); 
    		
    		Iterator<String> iterator = list.iterator();//将List集合中元素转到iterator变量中
    		while(iterator.hasNext()) {
    			System.out.println(iterator.next());
    		}
    	}
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    9、contains(Object o) 方法
    contains(Object o) 方法用以判断集合容器中是否含有指定元素,有返回值,且为boolean型。

    boolean flag = list.contains("Jim");//判断集合容器中是否有指定元素	}
    
    • 1

    10、remove(int index) 方法
    remove(int index)方法用于移除列表中指定位置的元素,并返回被删元素

    String str = list.remove(0);//删除指定索引(从0开始)位置的元素,将元素返回,并后面元素前移
    
    • 1

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

    boolean flag = list.remove("Tom");//删除List集合元素,返回boolean,并后面元素前移
    
    • 1
  • 相关阅读:
    【云原生之k8s】kubeadm搭建k8s集群
    IDEA中SVN 的使用
    响应式设计的实现方式
    .Net6与Framework不同方式获取文件哈希值的性能对比
    (附源码)计算机毕业设计SSM焦作旅游网站
    【C语言】每日一题(杨氏矩阵查找数)
    潘多拉 IOT 开发板学习(HAL 库)—— 实验7 窗口看门狗实验(学习笔记)
    Spring基于注解开发案例
    promise回顾和总结(温故知新)
    JAVA语言特性
  • 原文地址:https://blog.csdn.net/Cai_Xu_Kun/article/details/127462543