JavaSE基础(day15)(1)Collection接口(2)List接口(3)Queue接口(4)Set接口

默写:
1.简答题
写出String类中常用的10个方法,要求写出方法名和功能即可。

2.简答题
写出正则表达式中有关数量的规则。

3.画图题
画出集合框架的两张图。

今天内容:
(1)Collection接口
(2)List接口
(3)Queue接口
(4)Set接口

1.Collection接口(重点)
1.1 常用的方法
boolean isEmpty() - 用于判断当前集合中是否为空/是否有元素。
int size() - 用于返回当前集合中元素的个数。

boolean add(E e) - 用于将参数指定的元素放入当前集合,是否成功用返回值表示。
boolean addAll(Collection<? extends E> c)
- 用于将参数指定集合的所有元素放入当前集合中。

boolean remove(Object o) - 用于删除当前集合中参数指定的单个元素。
boolean removeAll(Collection<?> c)
- 用于将参数指定集合中的所有元素从当前集合中删除。
void clear() - 用于清空当前集合。

boolean contains(Object o) - 用于判断参数指定的元素是否存在当前集合中。
boolean containsAll(Collection<?> c)
- 用于判断参数指定的集合中所有元素是否包含在当前集合中。

boolean retainAll(Collection<?> c) - 用于计算当前集合和参数集合的交集并保留
- 若当前集合由于调用而发生更改则返回true,否则返回false。
Iterator iterator() - 用于获取当前集合的迭代器。

2.List接口(重中之重)
2.1 基本概念
java.util.List接口是Collection接口的子接口,该集合中元素有先后次序,允许重复
该接口的主要实现类有:ArrayList类、LinkedList类、Stack类、Vector类(笔试)。
其中ArrayList类的底层是采用动态数组实现的,访问方便,增删不方便。
其中LinkedList类的底层是采用链表实现的,访问不方便,增删方便。
其中Stack类(栈)的底层是采用动态数组实现的,但该集合具有后进先出的特性。
其中Vector类的底层是采用动态数组实现的,但该类与ArrayList类相比是属于线程安全的类,效率比较低,因此推荐使用ArrayList类。

2.2 常用的方法
void add(int index, E element)
- 用于将参数指定的element元素增加到当前集合的index位置。
- index的取值范围是:[0 ~ size()]
boolean addAll(int index, Collection<? extends E> c)
- 用于将参数指定集合中的所有元素增加到当前集合的index位置。

E remove(int index) - 用于删除参数指定下标位置的元素并返回。
E set(int index, E element) - 用于将当前集合中index位置的元素改为element。
E get(int index) - 用于返回当前集合中下标为index位置的元素。

List subList(int fromIndex, int toIndex)
- 用于获取当前集合中从fromIndex(包含)到toIndex(不包含)之间的部分视图。

2.3 泛型机制
目前集合中虽然可以存放不同类型的数据,其原因是将所有数据都看做Object类型放入的,但从集合中取出元素并表达真实类型时,需要进行强制类型转换,该转换可能引发类型转换异常。
为了避免上述错误的发生,从jdk1.5开始加入泛型的机制,也就是在集合名称的后面使用<数据类型>的方法明确该集合中元素的类型,若放入其他类型则编译报错。
如:

  List<String> l1 = new LinkedList<String>();   

泛型的本质就是参数化数据类型,也就是将数据类型作为实参传递给形参E,从而在接口/类体中的E都变成了实参类型。

3.Queue接口(重点)
3.1 基本概你
栈(Stack)是一种具有后进先出特性的数据结构,简称为LIFO(last in first out)。
队列(Queue)是一种具有先进先出特性的数据结构,简称为FIFO(first in first out).
java.util.Queue接口是Collection接口的子接口,主要实现类:LinkedList类。

3.2 常用的方法
boolean offer(E e) - 用于将参数指定的元素插入到当前队列的尾部
- 若插入成功则返回true,否则返回false。
E poll() - 用于将队列中队首元素进行出队操作,若队列为空则返回null。
- 出队操作就是移除队首元素并返回。
E peek() - 用于获取队列中的队首元素并返回,若队列为空则返回null。

4.Set接口(重点)
4.1 基本概念
java.util.Set接口是Collection接口的子接口,元素没有先后次序,不能重复。
该接口的主要实现类有:HashSet类 和 TreeSet类。
其中HashSet类的底层是采用一张哈希表实现的。
其中TreeSet类的底层是采用一棵二叉树实现的。

4.2 常用的方法
该接口的方法与Collection集合中的方法完全一致。

视频
javaseday15-作业和Collection方法的使用-01
https://v.qq.com/txp/iframe/player.html?vid=y0798nwb0y8
javaseday15-Collection使用List接口概念-02
https://v.qq.com/txp/iframe/player.html?vid=d0798z8bpro
javaseday15-List接口中方法的使用-03
https://v.qq.com/txp/iframe/player.html?vid=r079889kq9c
javaseday15-List接口方法使用和泛型机制-04
https://v.qq.com/txp/iframe/player.html?vid=j07982p9gyw
javaseday15-Queue接口和Set接口-05
https://v.qq.com/txp/iframe/player.html?vid=n07988m7y42
代码
https://pan.baidu.com/s/1KjP7eQsOgRuM_dh2VoFjug

作业:
1.复习和练熟Collection接口和List接口的常用方法。
2.使用List接口实现简易的学生信息管理系统,要求打印字符界面提示用户选择相应的功能,根据用户的输入去实现增加、删除、修改、查找以及遍历所有学生信息的功能。
其中学生的信息有:学号、姓名、年龄。
提示:
尽量拆分为多个.java文件

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值