[基础回顾-JAVA类集框架篇]--JAVA集合框架简要总序

来源:互联网 发布:小户型沙发淘宝 编辑:程序博客网 时间:2024/04/28 08:26

一、简介

数据结构对程序设计有着深远的影响,在面向过程的C语言中,数据库结构用struct结构体描述,而在面向对象的编程中,数据结构是用类来描述的,并且包含有对该数据结构操作的方法。

  在Java语言中,Java语言的设计者对常用的数据结构和算法做了一些规范(接口)和实现(具体实现接口的类)。所有抽象出来的数据结构和操作(算法)统称为Java集合框架(Java Collection Framework)

  Java程序员在具体应用时,不必考虑数据结构和算法实现细节,只需要用这些类创建出来一些对象,然后直接应用就可以了。这样就大大提高了编程效率。

类似与C++中的标准模板库(Standard Template LibrarySTL)主要是对一些数据结构和相关算法的封装。C++中同样有这些东西。

 

二、集合框架层次结构

              Collection
                          ├List                               
                          │ ├
LinkedList
                          │ ├
ArrayList
                          │ └
Vector
                          │
 Stack

                    │ 
                          └ Set

                               HashSet

                                                   TreeSet
 



                 Map
                  ├
Hashtable
                  ├
HashMap

            ├TreeMap
                  └
WeakHashMap

 

 

 

 

Utilies(集合框架中的工具类)

 

 

  

      Collections   

   

               Arrays       

 

*注意CollectionCollections之间的区别

区别:Collections是一个类,是为集合框架提供一些帮助和工具方法的类。

Collection是集合类的上级接口,继承于它的接口主要有SetList
Collections
是针对集合类的一个工具类,帮助类,它提供了一系列静态方法实现了对各种集合的排序,查找和线程安全等操作。

总的说来,前者是接口,后者是工具类。

 

 

Comparable

Comparator

 

 

Comparable接口强行对实现它的每个类的对象进行整体排序。此排序被称为该类的自然排序,类的 compareTo 方法被称为它的自然比较方法。实现此接口的对象列表(和数组)可以通过Collections.sort(和 Arrays.sort)进行自动排序。实现此接口的对象可以用作有序映射表中的键或有序集合中的元素,无需指定比较器。

Comparator比较函数强行对某些对象 collection 进行整体排序。可以将 Comparator 传递给 sort 方法(如 Collections.sort),从而允许在排序顺序上实现精确控制。还可以使用 Comparator 来控制某些数据结构(如 TreeSet TreeMap)的顺序。

原创粉丝点击