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<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类内的定义顺序来决定集合元素的顺序。
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 关于Mongodb的全面总结 MongoDB的内部构造《MongoDB The Definitive Guide》...
    中v中阅读 32,016评论 2 89
  • Java集合类可用于存储数量不等的对象,并可以实现常用的数据结构如栈,队列等,Java集合还可以用于保存具有映射关...
    小徐andorid阅读 1,974评论 0 13
  • 我不能为你做任何事 所以 我会把我学到的东西 教给你 对别人温柔就能对自已温柔 去了解别人便可了解自已 爱上他人的...
    巷淼阅读 385评论 0 0
  • #在python表示注释 1.字符串:双引号或者单引号中的数据 字符串输出 字符串输入 字符串常见操作 demo1...
    flowerflower阅读 2,060评论 0 0
  • 我做了一个好梦 我梦见我死了,灵魂不知飘到哪 然后又遇见了你
    zwhen阅读 209评论 0 1