Java中,Comparator定制排序arraylist

作者: Arvin Chen 分类: Java 来源: Break易站(www.breakyizhan.com)

import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;

/**
 * TODO Collections类方法测试之排序
 * @author breakyizhan.com
 * @date 2018年11月20日
 * @version 1.8
 */
public class CollectionsSort {

	public static void main(String[] args) {

		ArrayList<Integer> arrayList = new ArrayList<Integer>();
		arrayList.add(-1);
		arrayList.add(3);
		arrayList.add(3);
		arrayList.add(-5);
		arrayList.add(7);
		arrayList.add(4);
		arrayList.add(-9);
		arrayList.add(-7);
		System.out.println("原始数组:");
		System.out.println(arrayList);
		// void reverse(List list):反转
		Collections.reverse(arrayList);
		System.out.println("反转Collections.reverse(arrayList):");
		System.out.println(arrayList);
/*		
		 * void rotate(List list, int distance),旋转。
		 * 当distance为正数时,将list后distance个元素整体移到前面。当distance为负数时,将
		 * list的前distance个元素整体移到后面。
		 
		Collections.rotate(arrayList, 4);
		System.out.println("Collections.rotate(arrayList, 4):");
		System.out.println(arrayList);*/
		
		// void sort(List list),按自然排序的升序排序
		Collections.sort(arrayList);
		System.out.println("按自然排序的升序排序Collections.sort(arrayList):");
		System.out.println(arrayList);

		// void shuffle(List list),随机排序
		Collections.shuffle(arrayList);
		System.out.println("随机排序Collections.shuffle(arrayList):");
		System.out.println(arrayList);

		// 定制排序的用法
		Collections.sort(arrayList, new Comparator<Integer>() {

			@Override
			public int compare(Integer o1, Integer o2) {
				return o2.compareTo(o1);
			}
		});
		System.out.println("定制排序后Comparator<Integer>:");
		System.out.println(arrayList);
	}

}

输出:

原始数组:
[-1, 3, 3, -5, 7, 4, -9, -7]
反转Collections.reverse(arrayList):
[-7, -9, 4, 7, -5, 3, 3, -1]
按自然排序的升序排序Collections.sort(arrayList):
[-9, -7, -5, -1, 3, 3, 4, 7]
随机排序Collections.shuffle(arrayList):
[7, 3, 3, 4, -5, -9, -7, -1]
定制排序后:
[7, 4, 3, 3, -1, -5, -7, -9]

  •   本文标题:Java中,Comparator定制排序arraylist - Break易站
    转载请保留页面地址:https://www.breakyizhan.com/java/7161.html

    发表笔记

    电子邮件地址不会被公开。 必填项已用*标注

    更多阅读