基础篇—List、Set、Map

List是存储对象的容器,可以存储任意类型的对象且长度可变,List的存储对象是有顺序的,可重复的。

<1> List的接口框架

    ArrayList实现类通过数组实现,在向集合中增加或删除时,需要对集合进行增容和拷贝,所以增删慢;而数组可以直接通过索引进行查找,所以查询快;一般查询多增删少的,优先选择ArrayList集合。

    LinkedList实现类通过链表实现,在向集合中增加或删除时,无需扩容,所以增删快;但是不能通过索引进行定位查找,需要检索全部,所以查慢;一般增删多查询少的,优先选择LinkedList集合。

    Vector实现类也是通过数组实现,是线程安全的,所以一般效率较ArrayList低。

<2> List接口的方法

    增加    add(Object object); 将指定对象存储到List容器中。addAll(List list); 将指定集合中的元素存储到List容器中。

    删除    remove(Object object); 将指定对象从容器中移除。removeAll(List list); 移除容器中与指定集合中的元素相同的元素。clear(); 清空容器中的所有元素。

    修改    set(Integer index,Object object); 将容器中指定位置的元素修改成指定元素。

    判断    isEmpty(); 判断容器是否为空。contains(Object object); 判断容器中是否包含指定对象。containsAll(List list); 判断容器中是否包含指定集合中的所有元素。

    获取    size(); 获取容器元素的数量。get(Integer index); 获取指定位置的元素。indexOf(Object object); 获取指定对象的位置索引,没有返回-1。lastIndexOf(Object object); 获取指定对象在容器中最后一次存储位置的索引。

Set也是存储对象的容器,可以存储任意类型的对象且长度可变。

<1> Set的接口框架

    HashSet实现类按照哈希算法来存取对象的,是无序的,不可重复,但是null和"null"同时存在,会显示[null,null],是Set接口的最优实现,其底层实现依赖于HashMap的键不能重复特性,

    TreeSet实现类使用红黑树来存储元素,实现了sortedSet接口,是有序存储和访问,不能写入null。

    LinkedHashSet实现类也是按照哈希算法存取对象的,是有序的,不可重复,但是null和"null"同时存在,会显示[null,null],其底层依赖于LinkedHashMap。

<2> Set接口的方法

    并        addAll(Set set); 将指定集合中的元素并入容器中,并去重。

    交        retainAll(Set set); 将指定集合中元素与容器中元素取交集。

    删除    removeAll(Set set); 移除容器中与制定集合中的元素相同的元素。remove(Object object); 将指定对象从容器中移除。

    判断    isEmpty(); 判断容器是否为空。contains(Object object); 判断容器是否包含指定对象。containsAll(Set set); 判断容器是否包含指定集合的所有元素。clear(); 清空容器中的所有元素。

    获取    iterator(); 遍历容器中的元素。

Map也是存储对象的容器,以键-值的形式存储对象,键对象不可重复可为null,值对象可重复可为null。

<1> Map的接口框架

    HashMap实现类按照哈希算法存取键对象,无序的且不可重复

    TreeMap实现类使用红黑树存储键对象,有序的

<2> Map接口的方法

    获取    get(Object key); 根据指定的key对象获取容器中键对应的值。entrySet(); 将容器中的所有键值对以key=value的形式保存在Set集合中。keySet(); 将容器中的所有键对象保存在Set集合中。 iterator(); 遍历容器中的元素

    添加    put(Object key,Object value); 将指定的键值对添加到容器。

    删除    remove(Object key); 移除容器中与指定key对象相同的键值对。

    判断    isEmpty(); 判断容器是否为空。contains(Object object); 判断容器是否包含指定对象。containsAll(Set set); 判断容器是否包含指定集合的所有元素。clear(); 清空容器中的所有元素。

    

         

    

    

    

posted @ 2019-02-15 16:34  不浪小生  阅读(190)  评论(0编辑  收藏  举报