zoukankan      html  css  js  c++  java
  • Java Collections类

    集合类是什么?

    List列表、Set集合、Map映射、工具类(Iterator迭代器、Enumeration枚举类、Arrays和Collections)。

    Set 接口继承 Collection,但不允许重复,使用自己内部的一个排列机制。

    List 接口继承 Collection,允许重复,以元素安插的次序来放置元素,不会重新排列。

    Map接口是一组成对的键-值对象,即所持有的是key-value pairs。

    设计集合类的目的是什么?

    1.实现基本类集(数组、树、链表等)

    2.提供高效的操作方法

    3.能够对类集进行扩展

    集合类的结构?

    包含的主要方法?

    collection接口主要方法:

    boolean add(Object o)添加对象到集合
    boolean remove(Object o)删除指定的对象
    int size()返回当前集合中元素的数量
    boolean contains(Object o)查找集合中是否有指定的对象
    boolean isEmpty()判断集合是否为空
    Iterator iterator()返回一个迭代器
    boolean containsAll(Collection c)查找集合中是否有集合c中的元素
    boolean addAll(Collection c)将集合c中所有的元素添加给该集合
    void clear()删除集合中所有元素
    void removeAll(Collection c)从集合中删除c集合中也有的元素
    void retainAll(Collection c)从集合中删除集合c中不包含的元素

    常用的集合类有哪些?

    继承List接口:ArrayList类,LinkedList类,Vector类,Stack类

    继承Map接口:HashMap类,Hashtable类

    继承Set接口:HashSet类,TreeSet类

    继承Queue接口:Queue接口

    各个类的实现及特点?

    1.List接口注重索引,Arrayist基于数组实现,易于查询,LinkedList基于双向链表实现,易于增删,Vector接口是List的线程安全版本

    2.Set接口有去重功能,HashSet仅仅去重,LinkedHashSet不仅去重,还具有顺序(插入顺序),TreeSet能够去重和排序(自然顺序)

    3.Queue接口:先进先出,LinkedList也实现了此接口,PriorityQueue能够实现自然排序

    4.Map接口:键值对形式存储,HashMap存储是无序的,Hashtable是线程安全的,LinkedHashMap能够实现插入顺序,TreeMap能够实现自然排序



  • 相关阅读:
    HDU5029--Relief grain (树链剖分+线段树 )
    codeforces 277.5 div2 F:组合计数类dp
    FZU2176---easy problem (树链剖分)
    Codeforces Round #277.5 (Div. 2) --E. Hiking (01分数规划)
    FZU 11月月赛D题:双向搜索+二分
    POJ
    POJ
    HDU 4746 Mophues(莫比乌斯反演)
    BZOJ 2005 能量采集 (莫比乌斯反演)
    BZOJ 2301 Problem b (莫比乌斯反演+容斥)
  • 原文地址:https://www.cnblogs.com/feichangnice/p/7852313.html
Copyright © 2011-2022 走看看