POJ1007DNA排序问题
2017-03-13 本文已影响100人
大桥酱
![](https://img.haomeiwen.com/i1748544/71a9683195792c35.png)
![](https://img.haomeiwen.com/i1748544/0ebd26d6fd35cd4f.png)
![](https://img.haomeiwen.com/i1748544/6b0b7184b204b649.png)
![](https://img.haomeiwen.com/i1748544/25933f17e6af043f.png)
![](https://img.haomeiwen.com/i1748544/71c6a2f4f29f73bb.png)
![](https://img.haomeiwen.com/i1748544/52335233d3c912a7.png)
几个关键的地方 一个是comparator的使用,一个是collection.sort的使用,还有一个就是对数据结构的使用,以及区分通过数据进行区分两个输入的量
comparator:
下面是javase中该接口的使用原型:
![](https://img.haomeiwen.com/i1748544/951492cdff94f93a.png)
一般需要做比较的逻辑都可以使用的上Comparator,最常用的场景就是排序和分组,排序常使用Arrays和Collections的sort方法,而分组则可以使用上面提供的dividerList方法。
排序和分组的区别在于:
排序时,两个对象比较的结果有三种:大于,等于,小于。分组时,两个对象比较的结果只有两种:等于(两个对象属于同一组),不等于(两个对象属于不同组)
我决定自己写一点代码来试一下:
![](https://img.haomeiwen.com/i1748544/cc9bfe7ff9e968ce.png)
![](https://img.haomeiwen.com/i1748544/3385cb51d7b7e75c.png)
最后输出结果
![](https://img.haomeiwen.com/i1748544/2b120f2a7cbd530e.png)