当前位置:   article > 正文

java集合知识体系

集合知识体系

                                                             集合关系图

一,集合的设计初衷

  • 为了保存数目不确定的数据/对象
  • 可保存任意类型的对象

所有的集合类都位于java.util中的包中

二,集合分类

    按照集合存储结构可分为两大类:

  • 单列集合
  • 双列集合

Collection接口

    单列集合的根接口,存储符合某种规则的元素,包含ListSet两个重要的子接口 

  • List的特点是元素有序,元素可重复,List接口的主要实现类有ArrayList中和链表
  • Set的特点是元素无序,元素不可重复,Set接口的主要实现类有HashSet的和LinekedSet

Map接口

    Map接口是双列集合类的根接口,存储具有键(key)值(value)对映射关系的元素,每个元素包含一对键值,可通过键找到对应的值      

    主要实现类有HashMap中和TreeMap、HashTable,

    LinkedHashMapHashMap的子类,Properties是HashTable的子类

  • HashMap的特点是元素无序key不可重复value可重复(如果key重复添加,会覆盖原来的value),key和value都可为null
  • TreeMap的特点是元素有序key也是不可重复,value可重复,TreeMap通过二叉树的原理来保证key的唯一性,与TreeSet存储原理相同,key不可为null,value可为空
  • HashTable 相对HashMap是线程安全的,元素无序,key和value都不可为null
  • Properties 在配置文件中经常使用,主要用来存储字符串类型的键和值
  • LinkedHashMap  和LinkedList一样是使用双向链表来保证Map元素迭代(遍历)的顺序和存入的顺序一致,key和value都可为null

以下是LinkedHashMap迭代(遍历)结果

List接口

     List集合中允许出现重复的元素,并且元素是有序的,所有的元素以线性的方式进行存储,可通过索引来获取指定元素

     包含ArrayList、LinkedList、Vector三个子类

  • ArrayList
  • LinkedList
  • Vector

 

 

Set接口

 

 

三、相关知识

1、双向链表

2、二叉树

3、HashMap实现原理

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/article/detail/55400
推荐阅读
相关标签
  

闽ICP备14008679号