java类集框架

来源:互联网 发布:js object to xml 编辑:程序博客网 时间:2024/06/01 08:10

java类集框架

         java 的类集框架是对一些典型的数据结构的简单封装,对外提供方法。不用关注代码的底层实现,使代码专注于业务的实现。(java.util包中的一些类和接口.)

 

    类集框架三个核心的接口:

                            1.collection<E>(单值存放最大接口) :


                            2.map<K,V>(键值对存储最大接口)


                                3.Iterator<E>(通用的输出接口,主要是对集合的迭代遍历)ListIterator   它是Iterator接口的一个子接口,可以向前向后遍历List,而Iterator只能向后遍历

 

                              详解List  (元素放入有序,允许重复元素,可以使用for循环遍历,也可用迭代遍历)

                                                         list集合遍历


                                              ArrayList<E>:底层由数组实现,非线程安全,效率相对Vector,元素访问速度快,插入删除元素效率慢;

                                                         Vector<E>:底层由数组实现,是基于线程安全,效率相对ArrayList低。

                                                         LinkedList<E>:底层有链表结构,线程不安全,元素访问速度慢,插入删除元素快。

                                           Set (元素放入无序,但元素在set中的位置是有它的hashCode值决定。不允许重复元素,只能迭代遍历)

                                                          HashSet<E>:线程不安全,按照哈希算法来存取集合中的对象存取速度快,利用了equals()hashCode()方法实现元素不重复




                                                               TreeSet<E>:线程不安全 ,可对元素进行排序,底层由平衡二叉树实现通过Comparable<E>接口中的compareTo或者Comparator<E>接口中的compareTo方法来保证元素的唯一性,存入的元素不会抛出ClassCastException


                                                                         1.实现Comparable<E>接口

                                                                                  

                    重写compareTo方法


                                                                 2.实现Comparator<E>接口


                   重写compare方法


                                               LinkedHashSet<E>:具有HashSet的查询速度,且内部使用链表维护元素的顺序(插入的次序)。于是在使用迭代器遍历Set时,结果会按元素插入的次序显示。

                                      Map<K,V>(元素按键值对存储,无放入顺序,map中不能包含相同key,每个key只能映射一个value)

                                               HashMap<K,V>:线程不安全的,速度快,底层是哈希表结构   支持null

                                               Hashtable<K,V>:线程安全,效率低,底层是哈希表结构,不支持null;

                                  map遍历


                                                     

                                               Properties用于配置文件的定义和操作,使用频率高,键和值都是字符串是集合中可以和IO技术相结合的对象



                                             TreeMap<K,V>:可以用来对map集合中的键进行排序,基于红黑树数据结构的实现。

                                             LinkeHashMap<K,V>:保证数据可以保持插入顺序,存入顺序和取出顺序一至


原创粉丝点击