java中常用集合

        集合(java.util.Collection 接口)
        数组的缺陷:添加、删除不方便,创建指定长度的数组,不可改变它的长度
        Colletion接口存储一组不唯一,无序的对象
        
        List(接口)
        有序可重复
        
        ArrayList类:ArrayList实现了长度可变的数组,在内存中分配连续的空间。遍历元素和随机访问元素的效率比较高
            ArrayList()
                构造一个初始容量为 10 的空列表。
            ArrayList(Collection<? extends E> c)
                构造一个包含指定 collection 的元素的列表,这些元素是按照该 collection 的迭代器返回它们的顺序排列的。
            ArrayList(int initialCapacity)
                构造一个具有指定初始容量的空列表。
            size()
                返回此列表中的元素数。
            remove(int index)
                移除此列表中指定位置上的元素。
            boolean remove(Object o)
                移除此列表中首次出现的指定元素(如果存在)。删除集合中的数字时用封装类型来定义,否则会默认为下标。
            
        LinkedList类:LinkedList采用链表存储方式。插入、删除元素时效率比较高
            LinkedList()
                构造一个空列表。
            LinkedList(Collection<? extends E> c)
                构造一个包含指定 collection 中的元素的列表,这些元素按其 collection 的迭代器返回的顺序排列
            contains(Object o)
                如果此列表包含指定元素,则返回 true

        
        Set(接口)
        无序不可重复
        
        HashSet类:
            HashSet()
                构造一个新的空 set,其底层 HashMap 实例的默认初始容量是 16,加载因子是 0.75。
            HashSet(Collection<? extends E> c)
                构造一个包含指定 collection 中的元素的新 set。
            HashSet(int initialCapacity)
                构造一个新的空 set,其底层 HashMap 实例具有指定的初始容量和默认的加载因子(0.75)。
            HashSet(int initialCapacity, float loadFactor)
                构造一个新的空 set,其底层 HashMap 实例具有指定的初始容量和指定的加载因子。
            remove(Object o)
                如果指定元素存在于此 set 中,则将其移除。
            clear()
                从此 set 中移除所有元素。
            add(E e)
                如果此 set 中尚未包含指定元素,则添加指定元素。
            iterator()
                返回对此 set 中元素进行迭代的迭代器。
        

        Map(接口):
        
        HashMap类:键不可重复,值可重复,且无序
            HashMap()
                构造一个具有默认初始容量 (16) 和默认加载因子 (0.75) 的空 HashMap。
            HashMap(int initialCapacity)
                构造一个带指定初始容量和默认加载因子 (0.75) 的空 HashMap。
            HashMap(int initialCapacity, float loadFactor)
                构造一个带指定初始容量和加载因子的空 HashMap。
            HashMap(Map<? extends K,? extends V> m)
                构造一个映射关系与指定 Map 相同的新 HashMap。

        Vector和ArrayList的异同:
            实现原理相同,功能相同,很多情况下可以互用
            两者的主要区别如下
            Vector线程安全,ArrayList重速度轻安全,线程非安全
            长度需增长时,Vector默认增长一倍,ArrayList增长50%

        Hashtable和HashMap的异同
            实现原理相同,功能相同,在很多情况下可以互用
            两者的主要区别如下
            Hashtable继承Dictionary类,HashMap实现Map接口
            Hashtable线程安全,HashMap线程非安全
            Hashtable不允许null值,HashMap允许null值

        集合遍历的方法:
        方法1:    通过for循环和get()方法配合实现遍历
        方法2:    通过迭代器Iterator实现遍历
                所有集合接口和类都没有提供相应遍历方法,而是由Iterator实现集合遍历
                Collection 接口的iterate()方法返回一个Iterator,然后通过Iterator接口的两个方法可实现遍历
                boolean hasNext(): 判断是否存在另一个可访问的元素
                Object next(): 返回要访问的下一个元素
        
        泛型:约束集合中可以添加的类型(必须是封装类型),且前后必须一致。

猜你喜欢

转载自www.cnblogs.com/lxiaoxuan/p/11106941.html