天天看点

JAVA中各种集合介绍及常用方法1. List

1. List

List集合继承于Collection,

public interface List<E> extends Collection<E>

常用的List集合应该是LinkedList以及ArrayList的实现,顾名思义,分别代表链表实现以及数组实现,那么对应的性能方面的区别就是链表和数组的区别

常用方法包括:

  1. size()

    :查看list大小
  2. add(E element)

    :添加元素
  3. add(int index, E element)

    :添加元素到指定位置
  4. addAll(Collection<? entends E> c)

    :添加集合中所有元素到列表末尾
  5. addAll(int index, Collection<? entends E> c)

    :添加元素到指定位置
  6. contains(Object o)

    :查看是否包含某个元素
  7. toArray()

    :返回一个由list元素构成的数组
  8. get(int index)

    :获取元素
  9. set(int index, E element)

    :替换指定位置的元素
  10. remove(Object o)

    remove(int index)

    :移除元素

测试小程序

import java.util.ArrayList;
import java.util.Arrays;
import java.util.LinkedList;
import java.util.List;

public class ListTest {

    public static void main(String[] args) {
        List<Integer> linkedList = new LinkedList<>();
        List<Integer> arrayList = new ArrayList<>();

        // 添加元素
        for(int i=0; i<10; ++i){
            linkedList.add(i);
            arrayList.add(i);
        }
        // 打印元素
        System.out.println("LinkedList: ");
        for(int e : linkedList){
            System.out.print(e);
            System.out.print(" ");
        }
        System.out.println();
        System.out.println("ArrayList: ");
        for(int e : arrayList){
            System.out.print(e);
            System.out.print(" ");
        }
        System.out.println();

        // 这里只用一个List作示例,另外一个是一样的,只不过效率不同
        // 指定位置添加元素
        linkedList.add(1, 100);
        System.out.println("Add 100 to the second loc LinkedList: ");
        for(int e : linkedList) {
            System.out.print(e);
            System.out.print(" ");
        }
        System.out.println();
        // 更换元素
        linkedList.set(0, 99);
        System.out.println("Modify the first element LinkedList: ");
        for(int e : linkedList) {
            System.out.print(e);
            System.out.print(" ");
        }
        System.out.println();
        // 移除元素
        linkedList.remove(1);
        System.out.println("Remove the second element: ");
        for(int e : linkedList) {
            System.out.print(e);
            System.out.print(" ");
        }
        System.out.println();
        System.out.println("List contains 3? " + linkedList.contains(3));
        Object[] array = linkedList.toArray();
        System.out.println("toArray: ");
        System.out.println(Arrays.toString(array));

        System.out.println("test done...");
    }


}

           

测试结果

LinkedList: 
0 1 2 3 4 5 6 7 8 9 
ArrayList: 
0 1 2 3 4 5 6 7 8 9 
Add 100 to the second loc LinkedList: 
0 100 1 2 3 4 5 6 7 8 9 
Modify the first element LinkedList: 
99 100 1 2 3 4 5 6 7 8 9 
Remove the second element: 
99 1 2 3 4 5 6 7 8 9 
List contains 3? true
toArray: 
[99, 1, 2, 3, 4, 5, 6, 7, 8, 9]
test done...
           

继续阅读