java18_Collection

来源:互联网 发布:mac安装axure出错 编辑:程序博客网 时间:2024/06/13 21:31

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()接口中

1 0
原创粉丝点击