【Java高级特性】java学习之旅24-Collections工具类

容器类的工具类,类比Arrays和数组

常用方法:

synchronized系列方法,将不同步的容器对象转换成同步的容器对象。

empryList()、emptySet()、emptyMap() 返回空的容器对象

重点:sort(List<T> list),sort(List<T> list, Comparator<? super T> c)对容器中的元素进行排序

reverse(List<?> list) 反转顺序

min(Collection<? extends T> coll), max(Collection<? extends T> coll) 在集合中取最小值和最大值

例子:
通过Collections创建一个List的集合

	@Test
	public void test1() {
		List<String> list = Collections.emptyList();
		System.out.println(list);
		
		list.add("hello");
		list.add("world");
		list.add("java");
		System.out.println(list);
	}

通过Arrays的工具类创建一个不可变的list,在Collections的sort方法中利用lambda表达式来进行排序

@Test
	public void test2() {
		
		// 创建一个不可变的list
		List<Integer> list = Arrays.asList(3, 4, 1, 2, 6, 7, 0);
		
		Collections.sort(list);
		
		System.out.println(list);
		
		List<Teacher> list1 = Arrays.asList(
				new Teacher("吴老师", 40, '男'),
				new Teacher("李老师", 40, '男'),
				new Teacher("方老师", 16, '男'),
				new Teacher("郭老师", 18, '女')
				);
		System.out.println(list1);
		//lambda表达式创建比较器
		Collections.sort(list1, (t1, t2) -> t1.getAge() - t2.getAge());
		System.out.println(list1);
	}

反转list集合比较最大值和最小值

@Test
	public void test3() {
		List<Integer> list = Arrays.asList(3, 4, 1, 2, 6, 7, 0);
		System.out.println(list);
		
		Collections.reverse(list);
		
		System.out.println(list);
		
		List<String> list1 = Arrays.asList("java", "python", "go", "c", "c++", "c#", "php", "kotlin", "js", "html");
		Collections.sort(list1);
		System.out.println(list1);
		System.out.println(Collections.min(list1));
		System.out.println(Collections.max(list1));
	}

这里注意字符串的排序先从首字母的hash值开始排序,如果相同比较第二个字符。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

JeffHan^_^

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值