唠唠SE的集合-10——Collections工具类

10. Collections

集合的工具类,包含很多实用的方法

1,对list进行二分查找:前提该集合一定要有序。

int binarySearch(list,key);

//必须根据元素自然顺序对列表进行升级排序

//要求list 集合中的元素都是Comparable 的子类。

int binarySearch(list,key,Comparator);

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

public class Test {
    public static void main(String[] args) {
        List<Integer> list = new ArrayList<Integer>();
        list.add(5);
        list.add(741);
        list.add(456);
        list.add(123);
        list.add(19);
        Collections.sort(list); // 保证集合有序
        System.out.println(Collections.binarySearch(list, 19)); // 1
        System.out.println(Collections.binarySearch(list, 741)); // 4
        System.out.println(Collections.binarySearch(list, 0)); // -1
    }
}

2,对list集合进行排序。

sort(list);

//对list进行排序,其实使用的事list容器中的对象的compareTo方法

sort(list,comaprator);

//按照指定比较器的比较规则进行排序

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

public class Test {
    public static void main(String[] args) {
        List<Integer> list = new ArrayList<Integer>();
        list.add(5);
        list.add(741);
        list.add(456);
        list.add(123);
        list.add(19);
        System.out.println(list); // [5, 741, 456, 123, 19]
        Collections.sort(list); // 升序排序
        System.out.println(list); // [5, 19, 123, 456, 741]
    }
}

3,对集合取最大值或者最小值。

max(Collection)

max(Collection,comparator)

min(Collection)

min(Collection,comparator)

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

public class Test {
    public static void main(String[] args) {
        List<Integer> list = new ArrayList<Integer>();
        list.add(5);
        list.add(741);
        list.add(456);
        list.add(123);
        list.add(19);
        System.out.println(Collections.max(list)); // 741
    }
}

4,对list集合进行反转。

reverse(list);

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

public class Test {
    public static void main(String[] args) {
        List<Integer> list = new ArrayList<Integer>();
        list.add(5);
        list.add(741);
        list.add(456);
        list.add(123);
        list.add(19);
        System.out.println(list); // [5, 741, 456, 123, 19]
        Collections.reverse(list); // 翻转
        System.out.println(list); // [19, 123, 456, 741, 5]
    }
}

5,对比较方式进行强行逆转。

Comparator reverseOrder();

Comparator reverseOrder(Comparator);

6,对list集合中的元素进行位置的置换。

swap(list,x,y);

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

public class Test {
    public static void main(String[] args) {
        List<Integer> list = new ArrayList<Integer>();
        list.add(5);
        list.add(741);
        list.add(456);
        list.add(123);
        list.add(19);
        System.out.println(list); // [5, 741, 456, 123, 19]
        Collections.swap(list, 2, 4);
        System.out.println(list); // [5, 741, 19, 123, 456]
    }
}

7,对list集合进行元素的替换。

如果被替换的元素不存在,那么原集合不变。

replaceAll(list,old,new);

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

public class Test {
    public static void main(String[] args) {
        List<Integer> list = new ArrayList<Integer>();
        list.add(5);
        list.add(741);
        list.add(456);
        list.add(123);
        list.add(19);
        System.out.println(list); // [5, 741, 456, 123, 19]
        Collections.replaceAll(list, 5, 6);
        System.out.println(list); // [6, 741, 19, 123, 456]
        Collections.replaceAll(list, 7, 8);
        System.out.println(list); // [6, 741, 19, 123, 456]
    }
}

8,可以将不同步的集合变成同步的集合。

Set synchronizedSet(Set<T> set)

Map synchronizedMap(Map<K,V> map)

List synchronizedList(List<T> list)

 

 

转载于:https://my.oschina.net/LinkedBear/blog/1616033

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值