Java ArrayList各种方法以及排序笔记

总结用法:
如果要排序,就从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;
	}
}

猜你喜欢

转载自blog.csdn.net/w1304636468/article/details/88619485
今日推荐