Java集合类---List

2.List

2.1ArrayList

2.1.1ArrayList常用方法

方法名 用途
boolean add(Object o) 在列表的末尾顺序添加元素,起始索引位置从0开始
void add(int index, Object o) 在指定的索引位置添加元素。索引位置必须介于0和列表中元素个数之间
int size() 返回列表中的元素个数
Object get(int index) 返回指定索引位置处的元素。取出的元素是Object类型,使用前需要进行强制类型转换
int indexOf(Object o) 返回第一次出现元素o的索引值
boolean contains(Object o) 判断列表中是否存在指定元素
boolean remove(Object o) 从列表中删除元素
Object remove(int index) 从列表中删除指定位置元素,起始索引位置从0开始
clone() 返回此ArrayList实例的浅复制
ensureCapacity(int minCapacity) 用于增加ArrayList实例的容量
removeRange() protected方法 用于从列表中删除所有索引从fromlndex到tolndex的元素,并将所有后续元素左移以减少它们的索引(并不删除索引值为toIndex的元素)
trimToSize() 去掉预留元素位置,节约空间。底层就是一个Arrays.copyOf()方法,复制指定长度的数组返回(瘦身)

2.1.2代码Code:

package mygather;

import java.util.ArrayList;
import java.util.*;

public class MyArrayList {
    
    
    public static void main(String[] args) {
    
    
        ArrayList<String> arrayList = new ArrayList<String>();

        //添加元素
        arrayList.add("1");
        arrayList.add("2");
        arrayList.add("3");
        arrayList.add("4");
        arrayList.add("5");
        System.out.println(arrayList);
        arrayList.add(5, "6");
        System.out.println(arrayList);

        //数字操作
        // 1)返回arraylist元素个数
        System.out.println(arrayList.size());
        // 2)返回arraylist中索引值为2的元素
        System.out.println(arrayList.get(2));
        // 3)返回arraylist中元素为3(第一个)的索引值
        System.out.println(arrayList.indexOf("3"));

        //判断是否包含指定元素
        System.out.println(arrayList.contains("1"));

        //浅复制
        @SuppressWarnings("unchecked")
        ArrayList<String> arrayList02 = (ArrayList<String>) arrayList.clone();
        System.out.println(arrayList02);

        //删除
        arrayList.remove("6");
        System.out.println(arrayList);
        arrayList.remove(1);
        System.out.println(arrayList);

        //trimToSize()方法
        arrayList.trimToSize();
        for (int i = 0; i < arrayList.size(); i++) {
    
    
            System.out.print(arrayList.get(i) + " ");
        }
        System.out.println();
    }
}

2.1.3输出结果(截图):

在这里插入图片描述

2.2LinkedList

2.2.1LinkedList常用方法

方法名 用途
addFirst() 将指定元素插入到列表的头部
addLast() 将指定元素插入到列表的尾部
element() 检索列表中头部值,不删除
getFirst() 返回列表中第一个元素值
getLast() 返回列表最后一个元素值
offer(E e) 添加指定元素到列表尾部
offFirst(E e) 添加指定元素到列表头部
poll() 返回检索并移除列表头部元素
pollFirst() 返回检索并删除列表头部元素
pollLast() 返回检索并删除列表尾部元素
pop() 从列表的堆栈弹出头部元素
push(E e) 向列表的栈中压入一个元素,至头部
removeFirst() 删除并返回列表第一个元素
removeLast() 删除并返回列表最后一个元素
removeFirstOccurence(Object o) 删除列表第一次出现的指定元素o
removeLastOccurence(Object o) 删除列表最后一次出现的指定元素o
descendingIterator() 返回双端队列中元素反向排列的迭代器,反向遍历

2.2.2代码Code:

package mygather;

import java.util.Iterator;
import java.util.LinkedList;

public class MyLinkedList {
    
    
    public static void main(String[] args) {
    
    
        //声明一个LinkedList对象
        LinkedList<String> linkedList = new LinkedList<String>();
        //添加元素
        linkedList.add("1");
        linkedList.add("2");
        linkedList.add("3");
        linkedList.add("4");
        linkedList.add("5");
        System.out.println(linkedList);

        //插入元素
        // 1)向链表头部插入
        linkedList.addFirst("-1");
        System.out.println(linkedList);
        linkedList.offerFirst("0");
        // 2)向链表尾部插入
        linkedList.addLast("6");
        linkedList.offer("7");
        System.out.println(linkedList);
        // 3)向链表添加另一个对象
        linkedList.addAll(linkedList);
        System.out.println(linkedList);

        //返回
        // 1)检索第一个元素,不删除
        System.out.println(linkedList.element());
        // 2)返回索引值为2的元素
        System.out.println(linkedList.get(2));
        // 3)返回第一个元素
        System.out.println(linkedList.getFirst());
        // 4)返回最后一个元素
        System.out.println(linkedList.getLast());
        // 5)返回类名
        System.out.println(linkedList.getClass());

        //出栈、入栈、删除
        // 1)返回第一个元素并删除掉
        linkedList.poll();       //pollFirst()
        System.out.println(linkedList);
        // 2)返回最后一个元素
        linkedList.pollLast();
        System.out.println(linkedList);
        // 3)弹栈,返回第一个元素并删除
        linkedList.pop();
        System.out.println(linkedList);
        // 4)压栈,添加一个元素至栈顶
        linkedList.push("20");
        System.out.println(linkedList);
        // 5)删除第一个元素
        linkedList.remove();   //removeFirst()
        System.out.println(linkedList);
        // 6)删除最后一个元素
        linkedList.removeLast();
        System.out.println(linkedList);
        // 7)删除第一次出现"5"这个元素
        linkedList.removeFirstOccurrence("5");
        System.out.println(linkedList);
        // 8)删除最后一次出现"3"这个元素
        linkedList.removeLastOccurrence("3");
        System.out.println(linkedList);
        // 9)删除索引值为3的元素
        linkedList.remove(3);
        System.out.println(linkedList);
        // 10)删除第一次出现"-1"的元素
        linkedList.remove("-1");
        System.out.println(linkedList);

        //迭代器遍历
        Iterator<String> iterator01 = linkedList.iterator();
        while (iterator01.hasNext()) {
    
    
            System.out.print(iterator01.next() + " ");
        }
        System.out.println();

        //反向遍历
        Iterator iterator02 = linkedList.descendingIterator();
        while(iterator02.hasNext()){
    
    
            System.out.print(iterator02.next() + " ");
        }
        System.out.println();

        //LinkedList这个对象的大小
        System.out.println(linkedList.size());
        //清空元素
        linkedList.clear();
        System.out.println(linkedList);
    }
}

2.2.3输出结果(截图):

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_47949604/article/details/116449672