美文网首页
java基础篇(一)

java基础篇(一)

作者: 琦琦大师 | 来源:发表于2018-08-30 22:04 被阅读0次

    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<T> ,迭代器接口,是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基础篇(一)

          本文链接:https://www.haomeiwen.com/subject/jnndwftx.html