java基础篇(一)

java集合的基本概念:
常用的集合有两个大一点的接口:Colleciton 和 Map ,都属于 java.util.*

  1. Colleciton 下面有扩展了一些子接口,这些子接口都有一些特定的规则。
    1.1) Set 保证数据不重复,无明显顺序,存储的数据不能有相同的
    1.2) List 可以保证集合的顺序,可以理解为,实现List接口都是有序
    1.3) Queue 队列保证先进先出顺序
    2) Map 就是存储的键值对
    主要区别:容器中存储的每个位置保存的数据不一样吧,Map是按照键值对进行存储的,Collection 只能保存一个元素或者对象

java集合的层次结构:

  1. Interface Iterable ,迭代器接口,是Collection 的父接口,接口中只有一个方法 iterator() ,实现这个接口都相当于有foreach() 进行遍历了,这个就是为什么实现Collection 接口的集合对象 都有 foreach()遍历的特性

1.1 Collection 可以说是集合接口中最基本的,一个Collection 代表一组object的集合,这些object 称为 Collection 的元素,它是一个接口,提供规范,不能进行实例化.

1) Set 继承了 Collection ,Set集合主要的特点就是不重复,还有就是没有明显的顺序,可以理解成无序的,Set 判断 两个对象是否相等采用equals 方法,所以这样Set集合中的数据没有重复的。

  1.1) HashSet
    HashSet是Set接口的典型实现,HashSet使用HASH算法来存储集合中的元素,因此具有良好的存取和查找性能。当向HashSet集合中存入一个元素时,HashSet会调用该对象的hashCode()方法来得到该对象的hashCode值,然后根据该hashCode值决定该对象在HashSet中的存储位置。 特别注意,HashSet集合判断两个元素相等的标准是两个对象通过equals()方法比较相等,并且两个对象的hashCode()方法的返回值相等。

 1.1.1) LinkedHashSet
      LinkedHashSet集合也是根据元素的hashCode值来决定元素的存储位置,但和HashSet不同的是,它同时使用链表维护元素的次序,这样使得元素看起来是以插入的顺序保存的。因此LiskedHashSet 是有顺序的。

1.2) SortedSet

   SortedSet  此接口主要用于排序操作,即实现此接口的子类都属于排序的子类
  1.2.1) TreeSet
        TreeSet是SortedSet接口的实现类,TreeSet可以确保集合元素处于排序状态。

1.3) EnumSet

    EnumSet是一个专门为枚举类设计的集合类,EnumSet中所有元素都必须是指定枚举类型的枚举值,该枚举类型在创建EnumSet时显式、或隐式地指定。EnumSet的集合元素也是有序的,它们以枚举值在Enum类内的定义顺序来决定集合元素的顺序。

你可能感兴趣的:(java基础篇(一))