list中单词排序
现在有个list,存放"portal","sag","see"这三个单词,我现在想对这三个单词进行排序,将sag放在第一个,see放在第二个,portal放在第三个,请问应该怎么做?麻烦知道的告诉下,谢谢! --------------------编程问答-------------------- 你是要移动这几个单词,对list进行操作还是自动排序啊,说说清楚 --------------------编程问答-------------------- 比较需要比较主体,比较规则java.util.Collections
public static <T> void sort(List<T> list,
Comparator<? super T> c)
规则使用自然排序就不用
List list = Arrays.asList("a","c","b");
Collections.sort(list);
for (int i = 0, n = list.size(); i < n; i++) {
if (i != 0)
System.out.print(", ");
System.out.print(list.get(i));
}
System.out.println();
--------------------编程问答-------------------- 楼上正解 --------------------编程问答-------------------- 可以利用java 中数组中的类库去排序,也可以直接自己写一个实现了compareable接口的类自己制定排序规则 --------------------编程问答-------------------- 最简单就是用TreeSet:
跑下下列代码,看下输出。如何是添加复杂对象排序,这些对象必须实现compareable接口
public class Test {
public static void main(String[] args) {
Set<String> set = new TreeSet<String>();
set.add("sdada");
set.add("zz");
set.add("111");
for (String s : set)
System.out.println(s);
}
} --------------------编程问答--------------------
同意2楼的观点 --------------------编程问答-------------------- 关于排序的问题网上有好多的资料,
http://uule.iteye.com/blog/911971
这篇文章比较有代表性,楼主可以看看,是否对你有所帮助 --------------------编程问答-------------------- 默认的String是实现了Comparable接口吧 就可以实现那个功能吧 --------------------编程问答-------------------- 如楼上说的,用Collections.sort(list)就可以:
--------------------编程问答-------------------- public static <T> void main(String[] args) {
List<String> list=new ArrayList<String>();
list.add("hh");
list.add("ll");
list.add("aa");
Collections.sort(list);
for(String str:list)
System.out.println(str);
List<String> list=new ArrayList<String>();
list.add("portal");
list.add("sag");
list.add("see");
String []ary=new String[list.size()];
list.toArray(ary);
Arrays.sort(ary,new Comparator<String>() {
public int compare(String o1, String o2) {
return o1.charAt(1)-o2.charAt(1);
}
});
System.out.println(Arrays.toString(ary));
list=Arrays.asList(ary);
System.out.println(list);
} --------------------编程问答-------------------- 得分 得分 !@@@看上面正解 编译运行OK --------------------编程问答-------------------- 两种方式,list中如果存放的是引用类型的变量时,可以根据引用类型的自然顺序,就是在类中实现comparable接口的compareTo()方法,也可以根据自己定义的comparator;
补充:Java , Java SE