黑马程序员技术交流社区
标题:
ArrayList 集合怎么排序,如果不是使用Ccollections对象方法?
[打印本页]
作者:
gzy
时间:
2015-1-23 14:29
标题:
ArrayList 集合怎么排序,如果不是使用Ccollections对象方法?
s:求解各位学长学姐
作者:
lwj123
时间:
2015-1-23 18:10
ArrayList排序
ArrayList<String> al = new ArrayList<String>(new Comparator() {
public int compare(String s1,String s2) {
return s1.compareTo(s2);
}
});
作者:
云兮丶
时间:
2015-1-23 18:55
:LArrayList的构造方法好像没有传入比较器的把!!!
作者:
xiaoyi
时间:
2015-1-23 19:44
我也不知道啊
作者:
godmmm
时间:
2015-1-23 21:00
package interview;
import java.util.ArrayList;
public class SortArrayList {
public static void main(String[] args) {
// TODO Auto-generated method stub
ArrayList<Integer> list=new ArrayList<Integer>();
list.add(1);
list.add(3);
list.add(2);
list.add(66);
list.add(1);
list.add(7);
list.add(9);
sort(list);
System.out.println(list);
}
private static void sort(ArrayList<Integer> list) {
for(int x=0;x<list.size();x++)
{
for(int y=x;y<list.size();y++)
{
if((list.get(x).compareTo(list.get(y))>=0))
//如果是Integer类型可以用list.get(x)>list.get(y)来判断
{
Integer temp=list.get(x);//排序用set和get方法来操作集合中的元素
list.set(x, list.get(y));
list.set(y, temp);
}
}
}
}
}
复制代码
我来给你解答,这个我以前的思路,用set和get方法
作者:
Dragon_Free
时间:
2015-1-23 22:09
回复一下沙发,看看API,ArraysList中的构造函数 是没有传入比较器这一个东西的,那个SET子类的东西。对于ArraysList中比较的话,可以做自定义类中定义一个compareTo,然后用迭代器输出时,底层会帮你自己调用的,不过最好加上泛型,因为防止你的类型转换异常,如果是基本数数据类型,就用包装类,都有一个compareTo的方法。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2