用Collections进行大小排序

  1.Collections

Collections和Collection的区别:

Collections是java.utils下面的类,含有许多集合的相关操作的静态方法

Collections是java.utils下面的接口,是许多集合的上级接口

  2.Collections的sort方法

sort方法用于对数据集合进行大小排序


/**
 * 使用给定的比较器对给定的列表进行排序。该算法稳定意味着相等的元素没有得到重新排序。
 *
 * @throws ClassCastException if any element does not implement {@code Comparable},
 *     or if {@code compareTo} throws for any pair of elements.
 */
@SuppressWarnings("unchecked")
public static <T> void sort(List<T> list, Comparator<? super T> comparator) {
    if (list.getClass() == ArrayList.class) {
        ArrayList<T> arrayList = (ArrayList<T>) list;
        T[] array = (T[]) arrayList.array;
        int end = arrayList.size();
        Arrays.sort(array, 0, end, comparator);
        arrayList.modCount++;
    } else {
        T[] array = list.toArray((T[]) new Object[list.size()]);
        Arrays.sort(array, comparator);
        int i = 0;
        ListIterator<T> it = list.listIterator();
        while (it.hasNext()) {
            it.next();
            it.set(array[i++]);
        }
    }
}


第一个参数为要排序的数据集,例如ArrayList<String> mDatas = new ArrayList<String>();

第二个参数为Comparator,它为一个抽象接口,这里我们new一个此类对象


Comparator comparator = new Comparator<String>() {

			@Override
			public int compare(String lhs, String rhs) {
				// compareToIgnoreCase:进行比较,忽略大小写
				// 如果参数字符串等于此字符串,则返回 0 值;如果按字典顺序此字符串小于字符串参数,则返回一个小于 0
				// 的值;如果按字典顺序此字符串大于字符串参数,则返回一个大于 0 的值。
				return lhs.compareToIgnoreCase(rhs);
			}
		};




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值