Java容器类

文章目录

  • 前言
  • 一、Java容器框架
  • 二、Collection<E>接口
  • 三、列表接口List<E>
  • 四、集合接口Set<E>
  • 五、映射接口Map<K,V>
  • 总结


前言

容器类是Java以类库的形式供用户开发程序是可直接使用的各种数据结构。所谓数据结构就是以某种方式将数据组织在一起,并储存到计算机中。数据结构用来储存数据且支持访问与处理等操。数组就是一种简单的数据结构,Java还提供了许多其他的数据结构。这些数据结构通常称为容器类或集合类。


Java容器框架

Collection<E>接口

容器接口Collection<E>通常不能使用,但该接口提供了添加元素、删除元素、管理数据的方法。

由于Set<E>接口和List<E>接口都继承自Collection<E>接口,因此这些方法对集合接口Set<E>和列表接口List<E>是通用的。

Collection<E>接口的常用方法:


三、列表接口List<E>

列表接口List<E>接口是Collection<E>子接口,它是一种包含有序元素的线性表,其中的元素必须按顺序排放,且可重复,也可以是空值nul。List<E>接口使用下表访问元素。

List<E>接口的常用方法:

实现List<E>接口的类主要有两个:链表类LinkedList<E>和数组列表类ArrayList<E>,它们都是线性表。

链表类LinkedList<E>采用链表结构保存对象,使用循环双链表实现List<E>。在插入、删除元素时不要移动其他元素,链表大小是动态增大或减小的,但不具有随机取特性。

数组列表类ArrayList<E>使用一维数组实现List<E>,该类实现的是可变数组,允许所有元素,包括null。具有随机存取特性,插入、删除元素时需要移动其他元素,但速度较慢。

选择LinkedList<E>与ArrayList<E>遵守的的原则是若要通过下标随机访问元素,仅在末尾处处理元素,选择ArrayList<E>;要在任意位置处理元素则选择LinkedList<E>。

LinkedList<E>常用方法


四、集合接口Set<E>

Set<E>是一个不含重复元素的集合接口,它继承自Collection<E>接口,实现Set<E>接口的两个主要类是哈希集合类HashSet<E>和树集合类TreeSet<E>。

HashSet<E>集合不保证迭代顺序,允许元素值为null。在比较两个哈希集合中的元素是否相等时,要重写元素对应的equals()或hashCode()方法中的一个,因为不同元素所计算出的哈希码可能相同。

HashSet<E>集合类的常用方法:

TreeSet<E>原理与HashSet<E>相似,但重要的一点是TreeSet<E>中的元素总是有序状态。

TreeSet<E>类常用方法:


五、映射接口Map<K,V>

Map<K,V>是另一种储存数据结构的对象,Map<K,V>没有继承Collection<E>接口,它的对象都是成对存在的,提供了键(key)到值(value)的映射。在存入值时要给它定一个键,键锁定了元素在Map<K,V>中存储位置。每个键都是唯一的,每个键最多只能映射一个值。

Map<K,V>接口常用方法

Map<K,V>常用实现类有哈希映射HashMap<K,V>和树映射TreeMap<K,V>.前者操作时效率高且允许使用null,后者存在顺序。

TreeMap<K,V>常用方法


总结

在Java中,主要的容器类有Collection<E>的子接口List<E>、Set<E>,以及Map<K,V>。list是一种有序的集合,可以包含重复元素;set是一种无序且不允许重复元素的集合;map是一种键值对的集合,每个键对应一个值。它们都是常用的数据结构,可根据实际需求选择使用。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值