美文网首页
ArrayList说我也想要排序(一)

ArrayList说我也想要排序(一)

作者: littlejian | 来源:发表于2017-10-08 20:11 被阅读0次

    一次面试被问到ArrayList如果要进行排序,该怎么办?当时我就被问懵了,ArrayList不是没有排序功能的吗。只能怪自己基础不扎实,所以这次就好好研究下这个问题。

    先来看下上面这段代码,运行上面的代码得到的是输出如下,我们发现元素会维持被加入ArrayList的顺序。

    现在我们有个需求,需要对ArrayList进行字母排序,或许你会去找ArrayList的说明文档,看看有没有sort()的方法,ArrayList有一大堆方法,但就是没有sort()之类可以排序的方法。

    有的小伙伴就说,我可以不用ArrayList这个集合啊,使用TreeSet这个集合完全可以解决排序这个问题啊。

    对,TreeSet可以实现,不过使用Collections类的sort()方法对ArrayList进行排序也可以解决这个问题。

    看Collections类的源码的确有sort()这个方法,而且它的参数就是List.而ArrayList是实现List接口的,由于多态,ArrayList也可以作为参数传进去。

    但是这个方法到底行不行呢?我们不妨试下,在原先代码上加Collections.sort()这个方法。


    同样运行上面的代码,咦,这个方法的确对ArrayList进行字母排序了。好了现在我们ArrayList里放的是String,但如果我们放的是对象会发生什么呢?比如有个People对象,有name、age属性。现在我要对name进行字母排序,用这样的方法也可以吗?这个问题我们放到下一篇讨论。

    相关文章

      网友评论

          本文标题:ArrayList说我也想要排序(一)

          本文链接:https://www.haomeiwen.com/subject/ggbeyxtx.html