List接口及实现类(集合续)

List接口及实现类(集合续)

List继承了Collection接口,有三个实现的类

ArrayList

​ 数组列表,数据采用数组方式存储。

​ ArrayList实现了长度可变的数组,在内存中分配连续的空间。遍历元素和随机访问元素的效率比较高

LinkedList

​ LinkedList采用链表存储方式。插入、删除元素时效率比较高

Vector

​ 数组列表,添加同步锁,线程安全的

ArrayList的常用方法

add(int index, E element)

get(int index)

indexOf(Object o)
lastIndexOf(Object o)

remove(int index) 删除并返回指定位置元素

removeRange(int fromIndex, int toIndex) 删除指定区间的元素(子类继承使用)

set(int index,E element)

package day2;

import java.util.ArrayList;
import java.util.List;

public class ArrayListDemo {
    
    
    public static void main(String[] args) {
    
    
        //List list=new ArrayList();

        ArrayList arrayList=new ArrayList();
                    arrayList.add("a");//默认情况下向末尾添加
                    arrayList.add("b");
                    arrayList.add(0,"x"); //装满之后  扩容到原来的1.5倍
        System.out.println(arrayList);
        System.out.println(arrayList.get(2));
        System.out.println(arrayList.indexOf("b"));
        arrayList.add(1,"s");
        arrayList.sort(new StringC());



    }
}

package day2;

import java.util.ArrayList;
import java.util.List;

public class ArrayRange extends ArrayList {
    
    
    public static void main(String[] args) {
    
    
        List list=new ArrayList(15);//有参构造方法
        list.add("a");
        list.add("s");
        list.add("d");
        list.add("f");
        list.add("h");

        System.out.println(list.subList(1,3));

    }

}

LinkedList的常用方法

add(int index,Object element)

addFirist(Object element)

addLast(Object element)

removeFirst()

removeLast()

remove(int index)

getFirst()

getLast()

package day2;

import java.util.LinkedList;

public class LinkedListDemo {
    
    
    public static void main(String[] args) {
    
    
        LinkedList list=new LinkedList();
        list.add("a");
        list.add("s");
        list.add("d");
        list.add("f");
        list.add("g");
        list.addFirst("1");
        list.addLast("2");

        System.out.println(list.get(2));
        System.out.println(list.getFirst());
        System.out.println(list.getLast());


        System.out.println(list);
    }
}

package day3;

import java.util.Vector;

public class VectorDemo {
    
    
    public static void main(String[] args) {
    
    
        //底层也是数组的实现,线程安全的
        Vector v=new Vector();
                v.add("a");
                v.add("a");
                v.add("s");
                v.add("d");
                v.add("x");
                v.add("c");
        System.out.println(v);
    }
}

猜你喜欢

转载自blog.csdn.net/ZJ_1011487813/article/details/110204318