java 中的Collections集合工具类

Collections此类完全由在 collection 上进行操作或返回 collection 的静态方法组成。它包含在 collection 上操作的多态算法,即“包装器”,包装器返回由指定 collection 支持的新 collection,以及少数其他内容。

常用方法:

1、sort方法

<span style="white-space:pre">	</span>public static <T extends Comparable<? super T>> void sort(List<T> list)//此方法接收一个List集合,集合里的元素必须具备可比性
<pre><span style="white-space:pre">	</span>public static <T> void <strong>sort</strong>(<a target=_blank title="java.util 中的接口" href="">List</a><T> list, <a target=_blank title="java.util 中的接口" href="">Comparator</a><? super T> c)//此方法接收一个List集合,和一个比较器,用于集合元素的比较
示:
<span style="white-space:pre">	</span>ArrayList<String> list = new ArrayList<String>();//创建一个ArrayList集合
		//填充值
		list.add("aaa");
		list.add("ccc");
		list.add("bbb");
		Collections.sort(list);//排序
		//打印
		for(String s:list){
			System.out.println(s);
		}
结果为:aaa bbb ccc
 

定义一个按字符长度排序的比较器:

class Mycomparator implements Comparator<String> {

	@Override
	public int compare(String o1, String o2) {
		int num = new Integer(o1.length()).compareTo(new Integer(o2.length()));
		if (num == 0) {
			return o1.compareTo(o2);
		}
		return num;
	}

}

使用此比较器:

<span style="white-space:pre">	</span>ArrayList<String> list1 = new ArrayList<String>();// 创建一个ArrayList集合
		// 填充值
		list1.add("aaaa");
		list1.add("ccc");
		list1.add("bb");
		Collections.sort(list1,new Mycomparator());// 排序
		// 打印
		for (String s : list1) {
			System.out.println(s);
		}
打印为 :bb ccc aaaa
2、binarySearch
使用二分搜索法搜索指定列表,以获得指定对象。在进行此调用之前,必须根据列表元素的 自然顺序对列表进行升序排序(通过 sort(List) 方法)。如果没有对列表进行排序,则结果是不确定的。如果列表包含多个等于指定对象的元素,则无法保证找到的是哪一个。 

<pre><span style="white-space:pre">	</span>public static <T> int <strong>binarySearch</strong>(<a target=_blank title="java.util 中的接口" href="">List</a><? extends <a target=_blank title="java.lang 中的接口" href="">Comparable</a><? super T>> list, T key)
 

参数1、List集合

参数2、要查的key

3、reverseOrder() 方法          返回一个比较器,它强行逆转实现了 Comparable 接口的对象 collection 的自然顺序

4、 fill(List<? super T> list, T obj)

          使用指定元素替换指定列表中的所有元素。

5、replaceAll(List<T> list, T oldVal, T newVal)          使用另一个值替换列表中出现的所有某一指定值。

<span style="white-space:pre">	</span>ArrayList<String> list1 = new ArrayList<String>();// 创建一个ArrayList集合
		// 填充值
		list1.add("aaaa");
		list1.add("ccc");
		list1.add("bb");
		Collections.replaceAll(list1,"bb","dd");// 排序
6、 synchronizedList(List<T> list)
          返回指定列表支持的同步(线程安全的)列表(List集合是不同步的,高效)

7、 shuffle(List<?> list)
          使用默认随机源对指定列表进行置换。(打乱List集合里面的元素)


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值