JAVA排序(一) Comparable接口
昨天接到一个实习公司的电话面试,来的很突然,没有准备。
由于以前没用过,在被他问及是否用过JAVA的排序工具Comparable与Comparator时,没有回答上来,只能实话实说没有用过。
感觉太丢人了~~回去赶紧看看,现在将学到的东西记录下来,同大家分享~~
先说Comparable接口,public interface Comparable<T>。当需要根据类中的成员变量对类进行排序时,只需实现该接口,覆写compareTo方法即可非常方便~~
该接口中只有一个方法--int compareTo(T o);
在该方法中可以自己定义成员变量大小“规则”,这里举的例子是降序排列,该方法根据比较的结果(大于、等于、小于)返回整型(-1,0,1)。如下:
********排序前********[EnvironmentForm [温度=27.5, 湿度=50.1], EnvironmentForm [温度=27.5, 湿度=60.1], EnvironmentForm [温度=27.5, 湿度=40.1], EnvironmentForm [温度=17.5, 湿度=50.1], EnvironmentForm [温度=37.5, 湿度=50.1]]********排序后********[EnvironmentForm [温度=37.5, 湿度=50.1], EnvironmentForm [温度=27.5, 湿度=60.1], EnvironmentForm [温度=27.5, 湿度=50.1], EnvironmentForm [温度=27.5, 湿度=40.1], EnvironmentForm [温度=17.5, 湿度=50.1]]