总结用法:
如果要排序,就从0开始计数并用普通int数组
用Arrays.sort(a);
如果要从大到小排序就用Integer类型用Arrays.sort(a,Collections.reverseOrder());
如果要对ArrayList进行排序
Collections.sort(list);//从小到大排序
Collections.sort(list,reverseOrder());//从大到小排序
对于普通数组
int[] a = int[100];
Arrays.sort(a);//从0开始从小到大排序
Arrays.sort(a,1,n+1);//从1开始从小到大排序,排序1~n,参数左闭右开
从1开始从达到小排序,就先正向排序1~n,再倒着赋值出来。所以如果需要排序,建议从0开始计数进行程序深。
对于Integer数组:
Integer[] a = new Integer[100];
Arrays.sort(a);//从0开始从小到大排序
Arrays.sort(a,Collections.reverseOrder());//从0开始从大到小排序
对于ArrayList:
Collections.sort(list);//从小到大排序
Collections.sort(list,reverseOrder());//从大到小排序
import java.util.*;
public class Main {
public static void main(String[] args){
ArrayList<Integer> list = new ArrayList<Integer>();
for(int i=1;i<=25;i+=2){
//add方法放入元素进Arraylist
list.add(i);
}
list.add(2);
//get方法根据下标取出Arraylist元素,size方法Arraylist大小
for(int i=0;i<list.size();i++){
System.out.println(list.get(i));
}
//indexOf方法通过元素取出下标
System.out.println(list.indexOf(7));
//通过toArray方法将Arraylist转为数组,注意要用Integer
Integer[] a = new Integer[100];
list.toArray(a);
for(Integer t : a){
System.out.println(t);
}
//通过Collectons.sort对Arraylist进行正序排序
Collections.sort(list);
//通过加入Collections.reverseOrder()对象对ArrayList进行倒序排序
Collections.sort(list,Collections.reverseOrder());
//通过先Collectons.sort对Arraylist进行从小到大排序,再用reverse方法把排好序后的list倒过来就成了从大到小排序
Collections.reverse(list);
//通过Collections.sort(list,cmp);对Arraylist进行倒序自定义排序
Comparator cmp = new MyComparator();
Collections.sort(list,cmp);
for(int i=0;i<list.size();i++){
System.out.println(list.get(i));
}
//对Integer用Arrays.sort(b,Collections.reverseOrder());进行从大到小排序
Integer[] b = new Integer[100];
for(int i=0;i<100;i++){
b[i] = i;
}
Arrays.sort(b,Collections.reverseOrder());
for(Integer t : b){
System.out.println(t);
}
}
}
class MyComparator implements Comparator<Integer>{
public int compare(Integer o1,Integer o2 ){
return o2-o1;
}
}