JavaSE集合练习

实验要求

1、集合Collection中存储的如果是自定义类的对象,需要自定义类重写哪个方法?为什么?​
2、ArrayList,LinkedList,Vector三者的相同点和不同点​
3、List接口的常用方法有哪些​
4、Set存储数据的特点是什么?有哪些实现类,简述各实现类的特点​
5、如何去除list中重复的数据​
6、创建一个List集合的对象,添加几个数字,反转对象中元素的顺序;根据元素的自然顺序排序​
7、一组数列A[25,36,17,23,14] ,一组数列B[10,8,25,36,14,72] 将两个数列合并,重复只出现一次,并按照从小到打输出​
8、随机生成五组双色球彩票,双色球规则,是这样的 红号是1-33 取六个不重复的,蓝号是1-16 取一个。​
9、课堂演示是学生管理系统,分别采用三个集合实现​
10、发的业务图片尝试实现


实验过程

1、集合Collection中存储的如果是自定义类的对象,需要自定义类重写哪个方法?为什么?​

需要重写equals()和hashcode()方法;因为在操作集合时需要调用hashcode()和equals()方法来进行判断,当自定义类两个对象相等时,要确保hashcode()和equals()方法也同步。

2、ArrayList,LinkedList,Vector三者的相同点和不同点​

相同点:类中的元素有序可重复
  
不同点:
  ArrayList:线程不安全
  LinkedList:LinkedList底层是双向链表存储元素的,ArrayList和Vector是底层都是一个自动变长的数组
  Vector:线程安全

3、List接口的常用方法有哪些​

add(),remove(),removeAll(),set(int index, Object o),get(int index),insert(int index, Object o),insert(int index),size(),iterator()

4、Set存储数据的特点是什么?有哪些实现类,简述各实现类的特点​

无序不可重复,存储时调用hashcode()方法来存储,采用数组+链表的形式;
HashSet:数组+链表,存入时判断哈希值,如果哈希值相同无法存入,如果哈希值不同则调用equals()方法来进一步确认,如果equals()方法返回true则也认为添加重复元素;
LinkedHashSet:数组+链表,每一个元素之间有双向链表,按顺序保存,不允许元素重复
TreeSet:红黑树

5、如何去除list中重复的数据​

(1)将ArrayList转为LinkedHashSet完成去重再将LinkedHashSet转换回ArrayList;
(2)遍历旧的ArrayList中的数进行是否有重复值判断,如果没有重复则添加到新的ArrayList里;

6、创建一个List集合的对象,添加几个数字,反转对象中元素的顺序;根据元素的自然顺序排序​
在这里插入图片描述

7、一组数列A[25,36,17,23,14] ,一组数列B[10,8,25,36,14,72] 将两个数列合并,重复只出现一次,并按照从小到打输出​
在这里插入图片描述

8、随机生成五组双色球彩票,双色球规则,是这样的 红号是1-33 取六个不重复的,蓝号是1-16 取一个。​
在这里插入图片描述

9、课堂演示是学生管理系统,分别采用三个集合实现​
Student类
在这里插入图片描述

View类
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

接口
在这里插入图片描述

List实现
在这里插入图片描述
在这里插入图片描述
Map实现
在这里插入图片描述
在这里插入图片描述
Set实现
在这里插入图片描述
在这里插入图片描述

10、发的业务图片尝试实现
图片
在这里插入图片描述
实现
Book类:
在这里插入图片描述

BookDao接口:
在这里插入图片描述

BookImplement类:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
BookView类:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值