Collections专门操作集合的类
Collections专门操作集合的类
chenruibing 发表于2年前
Collections专门操作集合的类
  • 发表于 2年前
  • 阅读 44
  • 收藏 3
  • 点赞 0
  • 评论 0

华为云·免费上云实践>>>   

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;
	}
}



共有 人打赏支持
粉丝 11
博文 201
码字总数 109101
×
chenruibing
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: