Java基础学习记录之集合(Collection和Map)

1.Collection是所有单列集合的根接口,两大主要子接口:

1:List  有序,可重复,主要子类及特点:

(1):ArrayList:底层数据结构是数组,故增删慢,查询快,线程不安全,效率高;

(2):Vector:底层数据结构也是数组,增删慢,查询快,线程安全,效率低;

(3):LinkedList:底层数据结构是链表,增删快,查询慢,线程不安全,效率高。

2:Set 无序,不可重复(唯一),主要子类及特点:

(1):HashSet:底层数据结构是哈希表,允许有null元素,线程不安全, 依赖与hashCode()和equals()两个方法保证元素的唯一性。其子类LinkedHashSet底层数据  结构是链表和哈希表,由链表保证元素有序,哈希表保证元素唯一。

(2):TreeSet:底层数据结构是红黑二叉树(是一个自平衡的二叉树),由自然排序(元素具备比较性,让元素所属的类实现Comparable接口)或者比较器排序(集   合具有比较性,让集合构造方法接受Comparable的实现类对象)来保证元素的排序,根据比较的返回值是否是0来保证元素的唯一性。

2.Map:是双列集合,由键值对组成,键唯一;每个键只能对应一个值,主要实现类:

1:HashMap:无序,线程不安全,允许有空(null)键(但最多只能有一个键的值为null)。

2:HashTable:无序,线程安全,不允许有空键。

3.Collection和Map的区别:

Map存储的是键值对形式的元素,键唯一,值可以重复;

Collection存储的是单独出现的元素,子接口Set元素唯一,子接口List元素可以重复。

4.Collection和Collections的区别:

Collection是所有单列集合的根接口,提供了对集合对象进行基本操作的通用接口方法;

Collections是针对集合类的一个工具类,提供了一系列静态方法以实现对各种集合的搜索、排序、线程安全化等操作。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值