Java集合题
<p style="margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px; font-family:Arial; font-size:14px"> <p style="margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px; font-family:Arial; font-size:14px"> <span style="font-size:18px">? ? ?要求:分别用List、Map、Set来实现,打印的信息包括学号、姓名和成绩。 <p style="margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px; font-family:Arial; font-size:14px"> 1、使用List集合来实现
对List集合框架的总结: ,而不需要迭代。 方法,所以在类中需要进行覆写。
?
方法。所以需要自定义一个比较器类,定义自己的比较规则。
2、使用Set集合来实现
?
对TreeSet的总结: (1)自定义一个比较器类,比如class Com implements{ } ?,实现方法,在其中定义比较规则。 (2)步骤:将add进TreeSet中的元素实现Comparable接口,并且覆盖compareTo方法。这种顺序也是元素的自然顺序,或者叫做默认顺序。
方法1和方法2的区别:
两种方法各有优劣,用Comparable 简单,只要实现Comparable 接口的对象直接就成为一个可以比较的对象,但是需要修改源代码。
?
对HashSet的总结:
2、HashSet是如何保证元素唯一性的呢?
答:是通过元素的两个方法,hashCode和equals来完成。
如果元素的HashCode值相同,才会判断equals是否为true。如果元素的hashcode值不同,不会调用equals。 3、对HashSet的排序,通过将Set集合转化为List集合,借助Collections.Sort( )方法实现排序。
?
? <span style="font-family:Arial; font-size:18px"><span style="font-family:'Courier New'; background-color:rgb(240,240,240)">输出结果为:<span style="font-family:Arial; font-size:14px"> <p style="margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px; font-family:Arial; font-size:14px">
Map集合的取出原理:将map集合转成set集合。在通过迭代器取出。
keySet:将map中所有的键存入到Set集合。因为set具备迭代器。所有可以迭代方式取出所有的键,在根据get方法。获取每一个键对应的值。 > entrySet:将map集合中的映射关系存入到了set集合中,而这个关系的数据类型就是:Map.Entry (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |