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实现原理

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值