java中Comparator接口代码实例
set:元素是无序(存入和取出的顺序不一定一致),不可以重复
set集合的功能和Collection一样
------||HashSet:
是如何保证元素的唯一性的呢?
是通过元素的两个方法,hashCode和equlas来完成。
如果元素的hashCode值相同,才会判断equlas是否为true。
如果元素的hashcode值不同,不会判断equlas方法。
------|| TreeSet:可以对Set集合中的元素进行排序。排序的两种要素:集合和元素。
TreeSet存储自定义对象,在排序时,当主要条件相同时,一定要判断次要条件。
底层数据结构是二叉树。保证元素唯一性的依据:compareTo方法return 0;
TreeSet排序的第一种方法:让元素自身具备比较性。元素需要实现Comparable接口,覆盖compareTo方法。
这正方式成为元素自然排序,或者叫默认排序。
TreeSet的第二种排序方式。
当元素自身不具备比较性,或者具备的比较性,不是所以所需要的。
这是就需让集合自身具备比较性。在集合初始化时,就有了比较方式。
定义一个类,实现compareable接口,覆盖compare方法。
两种方式都存在时,以比较器为主。
代码如下 | 复制代码 |
package com.day14.wd; import java.util.Comparator; public class TreeSetDemo { } public int compare(Object o1, Object o2) { class Student { public String getName() { |
补充:Jsp教程,Java技巧及代码