[javaSE] 集合框架(ArrayList,LinkedList,Vector)

ArrayList特点:底层使用数组数据结构,查询速度快(使用脚标查),插入删除慢(索引要改变)

LinkedList特点:底层使用链表数据结构,查询慢(需要一个一个去问),插入删除快

Vector特点:底层是数组数据结构,线程同步,被ArrayList替代了

ArrayList

import java.util.ArrayList;

public class ArrayListDemo {
    public static void main(String[] args) {
        ArrayList lists=new ArrayList();
        lists.add("test01");
        lists.add("test01");
        lists.add("test02");
        lists.add("test02");
        lists=getSingleArray(lists);
        
        System.out.println(lists);//输出:[test01, test02]
    }
    /**
     * 去除重复
     * @param array
     * @return
     */
    public static ArrayList getSingleArray(ArrayList array){
        ArrayList res=new ArrayList();
        for(Object obj:array){
            if(!res.contains(obj)){
                res.add(obj);
            }
        }
        return res;
    }
}

LinkedList特有的功能与firstlast有关,例如 addFirst()getFirst()removeFirst()

import java.util.LinkedList;

public class LinkedListDemo {
    public static void main(String[] args) {
        LinkedList links=new LinkedList();
        links.add("link01");
        links.add("link02");
        links.add("link03");
        while(!links.isEmpty()){
            System.out.println(links.pollFirst());
        }
    }
} 

Vector特有的功能与element有关的,枚举

import java.util.Enumeration;
import java.util.Vector;
/**
 * Vector demo
 * @author taoshihan
 *
 */
public class VectorDemo {
    public static void main(String[] args) {
        Vector v=new Vector();
        v.add("vector1");
        v.add("vector2");
        v.add("vector3");
        Enumeration e=v.elements();
        while(e.hasMoreElements()){
            System.out.println(e.nextElement());
        }
    }
}
原文地址:https://www.cnblogs.com/taoshihan/p/5472281.html