36、java的集合之List

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_18077275/article/details/89811991

1、集合

在Java语言中,Java语言的设计者对常用的数据结构和算法做了一些规范(接口)和实现(具体实现接口的类)。所有抽象出来的数据结构和操作(算法)统称为Java集合框架(JavaCollectionFramework)。
Java程序员在具体应用时,不必考虑数据结构和算法实现细节,只需要用这些类创建出来一些对象,然后直接应用就可以了,这样就大大提高了编程效率。
Collection                                     Map
-List                                              -HashMap
   -ArrayList                                   -HashTable
   -LinkedList
   -Vector
       -Stack
-Set
   -HashSet
   -TreeSet
2、List

List是有序的Collection,使用此接口能够精确的控制每个元素插入的位置。用户能够使用索引(元素在List中的位置,类似于数组下标)来访问List中的元素,这类似于Java的数组。
和后面要学习到的Set不同,List允许有相同的元素。
实现List接口的常用类有LinkedList,ArrayList,Vector和Stack。
 

3、ArrayList

ArrayList实现了可变大小的数组。它允许所有元素,包括null。
每个ArrayList实例都有一个容量(Capacity),即用于存储元素的数组的大小。这个容量可随着不断添加新元素而自动增加,但是增长算法并没有定义。当需要插入大量元素时,在插入前可以调用ensureCapacity方法来增加ArrayList的容量以提高插入效率。

4、LinkedList

LinkedList实现了List接口,允许null元素。此外LinkedList提供额外的get,remove,insert方法在 LinkedList的首部或尾部。这些操作使LinkedList可被用作堆栈(stack),队列(queue)或双向队列(deque)。

5、示例代码

import java.util.LinkedList;

public class Demo41 {

    public static void main(String[] args) {
        // ArrayList<Integer> arrayList = new ArrayList<>();
        // arrayList.add(1);
        // arrayList.add(2);
        // arrayList.add(3);
        //
        // for (int i = 0; i < arrayList.size(); i++) {
        // int tmp = (int) arrayList.get(i);
        // System.out.println(tmp);
        // }

        LinkedList<String> linkedList = new LinkedList<>();
        linkedList.add("1");
        linkedList.add("2");
        linkedList.add("3");
        linkedList.addFirst("4");

        for (int i = 0; i < linkedList.size(); i++) {
            String tmp = (String) linkedList.get(i);
            System.out.println(tmp);
        }
    }

}
 

猜你喜欢

转载自blog.csdn.net/qq_18077275/article/details/89811991