zoukankan      html  css  js  c++  java
  • [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());
            }
        }
    }
  • 相关阅读:
    cmake使用总结
    Fatal error RC1015: cannot open include file "xxxx.h" vs2008
    可重入函数(转)
    《左耳听风》-ARTS-打卡记录-第十二周
    异常声明
    QString与const char *相互转换
    Qt中使用子线程去关闭弹出框
    什么是反向代理
    【GOJ 3002】颜色
    【GOJ 2296】毛毛虫
  • 原文地址:https://www.cnblogs.com/taoshihan/p/5472281.html
Copyright © 2011-2022 走看看