Login_Regist案例分析:
接口类interface,接口类不能创建对象
接口类中为抽象方法 abstract
在这个案例中遇到两个问题:
A:发现注册之后,登录不成功(原因:为了让所有功能公用数据(即是同一个集合),所以把集合定义为static修饰,达到数据共享的效果)
B:发现登录成功之后,还存在欢迎界面。一般情况,登录成功之后推出循环,但是登录功能里面的break只能结束switch()语句,不能结束while()循环。所以,使用非异常的终止-----System.exit(0)。
集合Collection :
List:可以重复(存储和取出一致)
Set:不可以重复(存储和取出不一致)
Set:
A:TreeSet:底层实现是TreeMap------基于红黑树(自平衡红黑树)的一种实现方式,并保证集合有序且唯一。
B:HashSet:底层实现是哈希表
HashSet如何保证集合的唯一性:
A:底层结构是哈希表
B:添加元素依赖于重写两个方法HashCode()和equals()。顺序为:先比较HashCode()的哈希码值是否相等,如果相同,则继续比较equals()方法。equals()默认是Object类型,比较的是地址值。重写equals()方法,则比较的是内容。
LinkedHashSet :底层是哈希表和链表相结合,由哈希表保证元素的唯一性,由链表保证元素的有序性。
TreeSet的两种排序:
A:自然排序 :comparable()接口,comparaTo()方法在comparable()中,所以要使用comparaTo()方法就必须定义 comparable()。
B:比较器排序 :comparator接口,底层是TreeMap,compare()方法在Comparator()接口中