Collections专门操作集合的类

sort    排序

binarySearch    查找

fill    改变列表的所有

replaceAll    覆盖所有相同的

reverse    反转集合内容

swap    交换操作

shuffle    随机分配,就是打乱顺序

Comparator    外部比较器的使用

import java.util.*;
public class anli
{
	public static void main (String[] args)
	{
	//	binarySearchdemo();
	//	reverseOrderdemo();
		Randomdemo();
	}
	public static void Randomdemo()
	{
		Random rd = new Random();//随机取整数,random是不能加泛型的,不带参数
		sop(rd.nextInt(10));//指定范围
	}
	public static void binarySearchdemo()
	{
		List<String> list = new ArrayList<String>();
		list.add("adf");
		list.add("adgaf");
		list.add("adfrwrewrdf");
		list.add("adsfasff");
		list.add("af");
		list.add("arwdfc");
		sop(list);
		Collections.sort(list,new com());
		//Collections.sort(list);
		sop(list);
		int index = Collections.binarySearch(list,"af",new com());//要把比较器也传递过来
		sop(index);
		//Collections.fill(list,"av"); //改变列表的所有
		//sop(list);
		//Collections.replaceAll(list,"av","va");//覆盖所有相同的
		//sop(list);
		Collections.reverse(list);
		sop(list);
		Collections.swap(list,0,1);//交换操作,必须是在list集合中。
		sop(list);
		Collections.shuffle(list);//随机分配
		sop(list);
	}
	public static void sop(Object obj)
	{
		System.out.println(obj);
	}
	public static void reverseOrderdemo()
	{
		//TreeSet<String> ts = new TreeSet<String>(Collections.reverseOrder());//因为是返回比较器,所以需要是Set或者map结构
		//TreeSet<String> ts = new TreeSet<String>(Collections.reverseOrder(new com()));//强转的比较器改变后的顺序。
		TreeSet<String> ts = new TreeSet<String>(new com());
		ts.add("adf");
		ts.add("asfadf");
		ts.add("agsfaddf");
		ts.add("adsddsf");
		ts.add("asdf");
		ts.add("af");
		Iterator<String> it = ts.iterator();
		while(it.hasNext())
		{
			String str = it.next();
			sop(str);
		}
		
	}
}
class com implements Comparator<String>
{
	public int compare(String one,String two)
	{
		int value = one.length()-two.length();
		if (one.length()==two.length())
		{
			return one.compareTo(two);
		}
		return value;
	}
}



转载于:https://my.oschina.net/u/2356176/blog/466563

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值