java集合框架

1、 集合框架:

  • 用于存储数据的容器
  • 特点,对象封装数据,集合用于存储对象
  • 对象的长度确定可以使用数组,不确定可以使用集合,因为集合是可变长度的

2、集合对象和数组对象的区别:

  • 1、数组是固定长度的;集合可变长度的。
  • 2、数组可以存储基本数据类型,也可以存储引用数据类型;集合只能存储引用数据类型。
  • 3、数组存储的元素必须是同一个数据类型;集合存储的对象可以是不同数据类型。

3、数据结构

  • 就是容器中存储数据的方式。
  • 对于集合容器,有很多种。因为每一个容器的自身特点不同,其实原理在于每个容器的内部数据结构不同。
  • 集合容器在不断向上抽取过程中,出现了集合体系。在使用一个体系的原则:参阅顶层内容。建立底层对象。

4、使用集合框架的好处

  1. 容量自增长
  2. 提供了高性能的数据结构和算法,使编码更轻松,提高程序速度与质量
  3. 可以方便的扩展或改写集合,提供代码复用性和可操作性

5、Iterator接口

  • 用来遍历集合元素的接口

6、Collection接口和Map

  • Collection接口是List和Set集合的父类
  • Collection一次存一个元素,是单列集合;
  • Map一次存一对元素,是双列集合。Map存储的一对元素:键–值,键(key)与值(value)间有对应(映射)关系。

7、Collection集合

  • List集合:有序(元素存入集合的顺序和取出的顺序一致),元素都有索引。元素可以重复。
  • Set集合:无序(存入和取出顺序有可能不一致),不可以存储重复元素。必须保证元素唯一性。

8、List集合

在这里插入图片描述

  • List集合是元素有序并且可以重复的集合
  • List集合的主要实现有:ArrayList、LinkedList、Vector

9、Set集合

  • Set集合元素无序(存入和取出的顺序不一定一致),并且没有重复对象。
  • Set的主要实现类:HashSet, TreeSet。

在这里插入图片描述

10、Map集合

  • Map 是一种把键对象和值对象映射的集合,它的每一个元素都包含一对键对象和值对象。
  • Map没有继承于Collection接口,从Map集合中检索元素时,只要给出键对象,就会返回对应的值对象。
  • Map 的常用实现类:HashMap、TreeMap、HashTable、LinkedHashMap、ConcurrentHashMap

在这里插入图片描述

11、ArrayList、LinkedList、Vector的区别

在这里插入图片描述

12、HashSet、TreeSet、LinkedHashSet的区别

在这里插入图片描述

13、HashMap、HashTable、TreeMap的区别

  • TreeMap:基于红黑树实现。
  • HashMap:基于哈希表实现。
  • HashTable:和 HashMap 类似,但它是线程安全的,这意味着同一时刻多个线程可以同时写入 HashTable 并且不会导致数据不一致。它是遗留类,不应该去使用它。现在可以使用 ConcurrentHashMap 来支持线程安全,并且 ConcurrentHashMap 的效率会更高,因为 ConcurrentHashMap 引入了分段锁。
  • LinkedHashMap:使用双向链表来维护元素的顺序,顺序为插入顺序或者最近最少使用(LRU)顺序。
    在这里插入图片描述

14、Collections工具类

Collections:集合工具类,方便对集合的操作。这个类不需要创建对象,内部提供的都是静态方法。

15、如何选用集合

在这里插入图片描述

16、HashMap在JDK1.7和JDK1.8中有哪些不同

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值