个人整理Java中的集合以及常用实现类

集合分为Collection和Map两种体系。

Collection 接口是集合的根接口之一,Collection接口有三大子接口:List(列表)、Set(集合)、Queue(队列)

  • List接口中元素有固定下标(有序,可重复)。
  • Set接口中元素保存不重复,且只有一个null,(无序,唯一)。
  • Queue(队列)接口是先进先出线性数据结构

List接口的常用实现类:

  1. ArraryList:采用数组的方式进行保存数据,插入数据慢但查询数据快,是非线程安全的。
  2. LinkedList:采用双向链表的方式进行保存数据,其插入数据速度较快。同时LinkedList也可实现Queue接口,但是LinkedList已经实现了Queue接口。
  3. Vector:和ArrayList一样,采用数组的方式进行保存数据,但是线程同步的、线程安全的

Set接口的常用实现类:

  1. HashSet:不可排序的,元素不可重复的,需要hashCode()和equals()。
  2. TreeSet:可排序,元素不可重复的。
  3. LinkedSet:是hashSet的子类,元素不可重复的,底层由链表实现的哈希表,保留了元素插入顺序。

Map接口里面保存的是键值对

常用实现类:

  1. HashMap:不可排序的且允许键值为null,是非线程安全的。
  2. TreeMap:可排序的。
  3. Hashtable:不可排序的且不允许有null值,是线程安全的。

其中,Vector已经被淘汰,可用ArrayList替代。Hashtable已经被淘汰,可用HashMap替代。如果需要解决高并发问题,可使用Map接口的子类ConcurrentHashMap;

Java中集合和数组的区别?

  • 集合是Java中用来存放对象的容器。
  • 数组是一种数据类型,即引用类型,数组是相同数据类型元素的集合;
  • 数组的长度固定,一组数组中只能存储相同数据类型的数据。
  • 集合的大小可动态扩展,一个集合中可以存储各种类型的数据。

集合和数组之间的互相转换

  • 集合转为数组:
    在这里插入图片描述

  • 一维数组转为集合:
    在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值