java总结(集合框架)

1、集合框架(Collection and Map,  集合和映射,  容器类(cpp))

集合框架是为表示是为表示和操作集合而规定的一种统一的标准体系结构

在编程中容器是用来组织和存储其他对象的对象   实现链表的类就是一个容器的实例


1)List 元素有先后次序的集合, 元素有index位置  ,元素可以重复 继承于Collection接口, 实现类

ArrayList, Vector, LinkedList  其中ArrayList查找快   LinkedList修改速度快

2) Set元素无序, 不能重复添加, 是数学意义上的集合, 继承与Collection接口, 实现类: HashSet(是

一个只有Key的HashMap)

3)Collection 集概念, 没有说明元素是否重复和有序, 使用集合的根接口,很少直接使用,其他集合都是实现类

ArrayList, HashSet

4)Map描述了:(Key: Value) 成对放置的集合, Key不重复, Value可以重复,Key重复算一个, 实现类:

HashMap(散列表算法实现)  TreeMap(二叉排序树实现,利用Key排序), Map适合检查查找。

                   


 Collection                                                                         Map

   List                                                 Set                         HashMap                         SortedMap  

ArrayList              LinkedList             HashSet        SortedSet                                                        TreeMap

  TreeSet

    Collection和Map都是接口  在接口中定义了对对象的操作  添加  删除 查找

List  接口继承于Collection接口

List是有序的 在List中定义index    元素可以重复  

ArrayList 实现了List接口  是一个用数组实现的List  在表中添加和删除元素时

都会进行一次数组的复制  所以添加和删除元素较慢  但是可以快速的随机访问

ArrayList源代码

public void add(int index, E element) {
        rangeCheckForAdd(index);

        ensureCapacityInternal(size + 1);  // Increments modCount!!
        System.arraycopy(elementData, index, elementData, index + 1,
                         size - index);
        elementData[index] = element;
        size++;
    }
LinkedList  插入和删除快 在尾部插入 在头部删除     但是对随机访问的速度慢  

Set 是无序的 没有定义index   元素不可以重复

HashMap 无序的  使用key - value映射来存储数据 key不可以重复   value可重复

TreeMap有序的(使用二叉树排序) 使用key-value映射来存储数据 key不可以重复  value可重复

      




















   

猜你喜欢

转载自blog.csdn.net/u011073924/article/details/38097957