Java测试题

这篇博客涵盖了Java集合框架中的核心概念,包括Set的元素唯一性判断、List、Set、Map与Collection接口的关系、对象hashcode与equals的区别、ArrayList、Vector、LinkedList的特性和性能对比。还介绍了如何在ArrayList中进行插入、获取、删除和修改操作,以及如何使用Collections工具类对List进行反转和排序。
摘要由CSDN通过智能技术生成

1、Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别
它们使用hashcode来区分是否重复,首先通过hashcode来判断是否重复,如果hashcode重复则判断equals是否相同则添加失败,不相同则添加到相同hashcode地方

2、List, Set, Map是否继承自Collection接口
List和set继承自Collection每个位置只有一个元素
map小型数据库拥有key----value键值对可以实现collection

3、两个对象值相同(x.equals(y) == true),但却可有不同的hash code,这句话对不对
这句话不对,set若对象值中equals相同则添加失败,会提前判断拥有相同的hashcode;

4、说出ArrayList,Vector, LinkedList的存储性能和特性
ArrayList存储性能较高,通过数组方式实现有序集合,查询与删除不容易;
LinkedList存储性能一般,通过链表形式存储,删除非常方便查找困难
Vector使用了sychronized方法(线程安全),所以在性能上比ArrayList要差些.

5、ArrayList和Vector的区别

1).同步性:Vector是线程安全的,也就是说是同步的,而ArrayList是线程不安全的,不是同步的
2).数据增长:当需要增长时,Vector默认增长为原来一培,而ArrayList却是原来的一半

6、创建ArrayList实例化对象,添加10个以上的元素,在2号位插入一个元素,获得5号位元素,删除6号位元素,修改7号位的元素

imp

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值