zoukankan      html  css  js  c++  java
  • 49. ArrayList LinkedList中特有的方法

    集合的体系:
    --------------| Collection  单列集合的根接口

    ----------| List 如果实现了List接口的集合类,该类具备的特点是:有序,可重复

    ------|ArrayList  ArrayList底层维护了一个Object数组实现的,特点是:查询快,增删慢
    使用场景:如果目前的数据查询比较多,删除比较少的时候,那么就使用ArrayList存储这批数据,比如:高校的读书馆
    注意:使用ArrayList无参构造函数时,Object初始的长度是10,长度不够时自动增长0.5倍

    ------|LinkedList LinkedList底层使用了链表数据结构实现的。特点是:查询速度慢,增删快
    使用场景:如果目前的数据增删比较多,查询比较少的时候,那么就使用LinkedList存储这批数据

    ----------| Set  如果实现了Set几口的集合类,该类具备的特点:无序,不可重复
     

    ArrayList的构造函数:

    ArrayList()          构造一个初始容量为 10 的空列表。
    ArrayList(Collection<? extends E> c) 构造一个包含指定 collection 的元素的列表,这些元素是按照该 collection 的迭代器返回它们的顺序排列的。
    ArrayList(int initialCapacity)   构造一个具有指定初始容量的空列表。


    下面的方法了解即可,因为我们实际开发中一般都是使用List接口中的一些方法

    ArrayList中特有的方法(了解即可):

    ensureCapacity(int minCapacity)  如有必要,增加此 ArrayList 实例的容量,以确保它至少能够容纳最小容量参数所指定的元素数
    我们一般是使用ArrayList的构造函数指定初始容量
    trimToSize()        将此 ArrayList 实例的容量调整为列表的当前大小。



    LinkedList中特有的方法(了解即可):

        addFirst(E e)   将指定元素插入此列表的开头。
        addLast(E e)    将指定元素添加到此列表的结尾。
        getFirst()      返回此列表的第一个元素。
        getLast()       返回此列表的最后一个元素。
        removeFirst()   移除并返回此列表的第一个元素。
        removeLast()    移除并返回此列表的最后一个元素。
        
        栈:先进后出
        push() 将元素添加到此集合的开头
        pop()  删除集合的首元素并返回
        
        队列:先进先出
        offer  将元素添加到此元素的末尾
        poll   删除集合的首元素并返回
        
        descendingIterator()  返回逆序的迭代器对象

    下面是清除集合中的重复元素代码例子:

    class Book{
        
        int id;
        String name;
        
        public Book(int id , String name) {
            this.id = id;
            this.name = name;
        }
        @Override
        public boolean equals(Object obj) {
            Book book = (Book)obj;
            return this.id == book.id;
        }
        @Override
        public String toString() {
            
            return "{ 书号:"+this.id+" 书名:"+this.name+" }";
        }
    }
    public class Demo2 {
        public static void main(String[] args) {
            ArrayList list = new ArrayList();
            list.add(new Book(1001, "java编程思想"));
            list.add(new Book(1002, "java核心技术"));
            list.add(new Book(1003, "javaweb"));
            list.add(new Book(1001, "java编程思想"));
            
            
            System.out.println(clearRepeat(list));
            LinkedList list1 = new LinkedList();
            list1.add("狗娃");
            list1.add("狗剩");
    
            System.out.println(list1.poll());
            System.out.println(list1);
        }
        
        public static ArrayList clearRepeat(ArrayList list) {
            ArrayList newlist = new ArrayList();
            Iterator it = list.iterator();
            while(it.hasNext()) {
                Book book = (Book)it.next();
                if(!newlist.contains(book)) {
                    newlist.add(book);
                }
            }
            return newlist;
        }
    }
  • 相关阅读:
    SAP OPEN UI5 Step 8: Translatable Texts
    SAP OPEN UI5 Step7 JSON Model
    SAP OPEN UI5 Step6 Modules
    SAP OPEN UI5 Step5 Controllers
    SAP OPEN UI5 Step4 Xml View
    SAP OPEN UI5 Step3 Controls
    SAP OPEN UI5 Step2 Bootstrap
    SAP OPEN UI5 Step1 环境安装和hello world
    2021php最新composer的使用攻略
    Php使用gzdeflate和ZLIB_ENCODING_DEFLATE结果gzinflate报data error
  • 原文地址:https://www.cnblogs.com/zjdbk/p/8991463.html
Copyright © 2011-2022 走看看