【黑马程序员】集合框架(四)Collections 第十八天

-------  android培训java培训java学习型技术博客、期待与您交流! ----------

知识点


10)Collections(Sort)

/*
 * sort(List<T> list):根据元素的【自然顺序】 对指定列表按升序进行排序。
 * sort(List<T> list, Comparator<? super T> c):根据指定【比较器】产生的顺序对指定列表进行排序。
 */
public class Collections_SortDemo {
	public static void sop(Object obj){
		System.out.println(obj);
	}
	public static void main(String[] args) {
		method_sort();
	}
	public static void method_sort(){
		List<String> list = new ArrayList<String>();
		list.add("af");
		list.add("fddf");
		list.add("rtyr");
		list.add("mgf");
		list.add("jgh");
		list.add("mgf");
		sop("原集合:" + list);//打印集合。
		Collections.sort(list);//自带的排序功能。
		sop("排序     :" + list);
		Collections.sort(list, new strLen());//传入比较器,按长度排序。
		sop("比较器:" + list);
	}
}
class strLen implements Comparator<String>{
	public int compare(String s1, String s2){
		if (s1.length() > s2.length())
			return 1;
		if (s1.length() < s2.length())
			return -1;
		return s1.compareTo(s2);
	}
}
运行结果如下图所示:

11)Collections(Max)

/*
 * max(Collection<?> coll):根据元素的自然顺序,返回给定 collection 的最大元素。
 * max(Collection<?> coll, Comparator<? super T> comp):根据指定比较器产生的顺序,返回给定 collection 的最大元素。
 * min(Collection<?> coll):根据元素的自然顺序 返回给定 collection 的最小元素。
 * min(Collection<?> coll, Comparator<? super T> comp):根据指定比较器产生的顺序,返回给定 collection 的最小元素。
 * 
 */
import java.util.*;

public class Colls_MaxDemo {
	public static void sop(Object obj){
		System.out.println(obj);
	}
	public static void main(String[] args) {
		method_Max();
	}
	public static void method_Max(){
		List<String> list = new ArrayList<String>();
		list.add("af");
		list.add("fddf");
		list.add("rtyr");
		list.add("mgfvv");
		list.add("jgh");
		list.add("mgf");
		String max1 = Collections.max(list);
		sop("原集合:" + list);
		sop("(排序前)Max1: " + max1);
		Collections.sort(list, new strLen_max());//传入比较器,按长度排序。
		sop("比较器:" + list);
		String max2 
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值