Java学习笔记——泛型与集合

在这里插入图片描述

泛型

Java中参数化类型。以集合为例,集合可以使用泛型限制被添加元素的数据类型,若将不符合指定数据类型的元素添加到集合类,编译器会报错。

定义泛型类.
语法:class 类名
其中,T代表被传入参数的数据类型。
注意:在定义泛型类时,一般类型名称使用T来表达,而容器元素使用E来表达。

泛型的用法.
1) 定义泛型类时声明多个类型
在定义泛型类时可以声明多个类型。
语法:class MutiOverClass<T1,T2>
其中,MutiOverClass为泛型类名称,T1和T2代表被传入参数的类型
例:
MutiOverClass<Boolean,Float> mutiOC= newMutiOverClass<Boolean,Float>(true,2.88f); .

2) 定义泛型类时声明数组类型
定义泛型类时也可以声明数组类型

3) 集合类声明元素类型
在集合中使用泛型可以保证集合中元素类型的唯一性,从而提高代码的安全性和可维护性。

集合类概述

Java中的集合类似于一个装有多个对象的容器,但是又有区别于数组。主要表现在:

1) 数组的长度是固定的,集合的长度是可变的.

2) 数组既可以存放基本数据类型,又可以存放对象,集合只能存放对象.

List集合、Set集合和Map集合的继承关系

在这里插入图片描述

Collection的常用方法
在这里插入图片描述

List集合

List集合包括List接口以及List接口的所有实现类。List集合中的元素允许重复,且各元素的顺序就是添加元素的顺序。类似于Java数组,用户可以通过索引访问集合中的元素。

** List接口**
List接口继承了Collection接口,因此可以使用Collection接口中的所有方法。此外,List接口还定义了两个重要的方法:在这里插入图片描述

List接口的实现类

List接口不能直接被实例化,所有Java提供了List接口实现类。其中,常用的实现类是ArrayList类与LinkedList类。
ArrayList类:以数组的形式保存集合中的元素,能够根据索引位置随机且快速的访问集合中的元素
LinkedList:以链表结构保存集合中的元素,随机访问集合中的元素性能较差,但是向集合中插入元素和删除元素的性能是相当出色的。

实例化List的关键代码
List list =new ArrayList<>();
List list2= new LinkedList<>();
其中,E代表元素类型,如:若集合中元素均为字符串类型,那么E为String类型
在这里插入图片描述

Iterator接口
Java提供了Iterator接口,专门对集合进行迭代的迭代器。
常用方法
在这里插入图片描述

创建迭代器
Iterator iter = list.iterator();

Set集合
Set集合由Set接口和Set接口的实现类组成。Set集合中的元素不按特定的方式排序,只是简单地被存放在集合中,但Set集合中的元素不能重复。

Set接口
Set接口继承了Collection接口,因此可以使用Collection接口的全部方法。但是,Set接口中的元素不能重复,因此,在向Set集合中添加元素时,需要先判断新增元素是否已经存在于集合中,再确定是否执行添加操作。

Set接口实现类
Set接口常用的实现类HashSet类与TreeSet类,具体如下:
HashSet:是Set接口的一个实现类,它不允许有重复元素
TreeSet:不仅实现Set接口,还实现java.util.SortedSet接口,因此在遍历使用TreeSet类实现的Set集合中的元素时,会默认地将元素按升序排列。在创建TreeSet对象时,通过使用Comparator接口,还可以实现定制排序,如降序排列。

TreeSet类新增方法
在这里插入图片描述

Map集合
Map集合提供了存储具有映射关系的存储方法。Map集合由Map接口和Map接口实现类组成。

Map接口
Map接口提供了key到valued的映射关系。Map关系中不能包含相同的key,并且每个key只能映射一个value。

Map接口常用的方法
在这里插入图片描述

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

闲小憨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值