黑马程序员技术交流社区

标题: ArrayList排序的问题。 [打印本页]

作者: 黑马老兵    时间: 2012-4-13 11:14
标题: ArrayList排序的问题。
怎么对ArrayList中的元素进行比较排序?跟TreeSet搞混了,大家帮我分析下。
作者: 刘占月    时间: 2012-4-13 11:30
你只要明确了TreeSet 和AyyayList  各自独有的特点 和应用就不会搞混了。

AyyayList 排序的话  你可以定义一个比较器的类。
然后使用Collections中的sort方法进行排序

MyComparator mc = new MyComparator() ;  
Collections.sort(al, mc) ;  

作者: τ、高童鞋ゝ    时间: 2012-4-13 12:47
ArrayList的Sort(IComparer)方法使用指定的比较器对整个 ArrayList 中的元素进行排序。向ArrayList中添加的自定义元素,当需要排序时,需要公开比较元素方法。


作者: 未长法    时间: 2012-4-13 14:43
对ArrayList中的元素进行排序,主要考查的是对util包中的Comparator接口和Collections类的使用。

实现Comparator接口必须实现compare方法,自己可以去看API帮助文档。

创建一个Comparator实例后,用Collections.sort(List,<E>)对List中的元素进行排序。

作者: 未长法    时间: 2012-4-13 14:47

java.util
类 Collections
java.lang.Object
  java.util.Collections  中sort()方法
static <T> void
     sort(List<T> list, Comparator<? super T> c)
          根据指定比较器产生的顺序对指定列表进行排序。
sort(List<T> list)
          根据元素的自然顺序 对指定列表按升序进行排序。
作者: 未长法    时间: 2012-4-13 15:28
当然也可以实现Comparable接口,覆写compareTo方法 完成自定义的方式存放




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2