java18_Collection

Login_Regist案例分析:

     接口类interface,接口类不能创建对象

     接口类中为抽象方法  abstract

     

在这个案例中遇到两个问题:

A:发现注册之后,登录不成功(原因:为了让所有功能公用数据(即是同一个集合),所以把集合定义为static修饰,达到数据共享的效果)

B:发现登录成功之后,还存在欢迎界面。一般情况,登录成功之后推出循环,但是登录功能里面的break只能结束switch()语句,不能结束while()循环。所以,使用非异常的终止-----System.exit(0)

 

集合Collection :

List:可以重复(存储和取出一致)

Set:不可以重复(存储和取出不一致)

 

Set

  ATreeSet:底层实现是TreeMap------基于红黑树(自平衡红黑树)的一种实现方式,并保证集合有序且唯一。

  BHashSet:底层实现是哈希表

 

HashSet如何保证集合的唯一性:

A:底层结构是哈希表

B:添加元素依赖于重写两个方法HashCode()equals()。顺序为:先比较HashCode()的哈希码值是否相等,如果相同,则继续比较equals()方法。equals()默认是Object类型,比较的是地址值。重写equals()方法,则比较的是内容。

 

LinkedHashSet :底层是哈希表和链表相结合,由哈希表保证元素的唯一性,由链表保证元素的有序性。


TreeSet的两种排序:

A:自然排序 :comparable()接口,comparaTo()方法在comparable()中,所以要使用comparaTo()方法就必须定义 comparable()

B:比较器排序 :comparator接口,底层是TreeMapcompare()方法在Comparator()接口中

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值