Collections工具类

来源:互联网 发布:学编程需要什么条件 编辑:程序博客网 时间:2024/06/12 00:17

Collections:工具类
1. 排序操作(主要针对List接口相关)
   - reverse(List list):反转指定List集合中元素的顺序
   - shuffle(List list):对List中的元素进行随机排序(洗牌)
   - swap(List list, int i, int j):将指定List集合中i处元素和j出元素进行交换
   - rotate(List list, int distance):将所有元素向右移位指定长度,如果distance等于size那么结果不变
   - sort(List list):对List里的元素根据自然升序排序
   - sort(List list, Comparator c):自定义比较器进行排序
2. 查找和替换(主要针对Collection接口相关)
   - fill(List list, Object obj):使用指定对象填充
   - frequency(Collection c, Object o):返回指定集合中指定对象出现的次数
   - replaceAll(List list, Object old, Object new):替换
   - binarySearch(List list, Object key):使用二分搜索法,以获得指定对象在List中的索引(下标)。需要先排序
   - max(Collection coll);返回最大元素
   - max(Collection coll, Comparator comp):根据自定义比较器,返回最大元素
   - min(Collection coll):返回最小元素
   - min(Collection coll, Comparator comp):根据自定义比较器,返回最小元素
3. 其他用法比较不常用,详情请参照 JAVA API 说明。

示例代码:
ArrayList<Integer> list = new ArrayList<>();list.add(1);list.add(2);list.add(0);list.add(3);list.add(5);list.add(12);list.add(9);list.add(7);list.add(4);/** 原始数据 */System.out.println("原始数据");for (int i = 0; i < list.size(); i++) {System.out.println(list.get(i));}/** 反转后 */Collections.reverse(list);System.out.println("反转后:");/** 洗牌后 */Collections.shuffle(list);System.out.println("洗牌后:");/** 交换后 */Collections.swap(list, 2, 4);System.out.println("交换后:");/** 旋转后 */Collections.rotate(list, 1);System.out.println("旋转后:");/** 排序后 */Collections.sort(list);System.out.println("排序后:");/** 填充后: */Collections.fill(list, 999);System.out.println("填充后:");/** 返回指定集合中指定对象出现的次数 */int frequency = Collections.frequency(list, 1);System.out.println("frequency:" + frequency);/** 替换后 */Collections.replaceAll(list, 2, 100);System.out.println("替换后:");/** 返回最大元素 */Integer max = Collections.max(list);System.out.println("max:" + max);/** 返回最小元素 */Integer min = Collections.min(list);System.out.println("min:" + min);//for (Integer i : list) {//System.out.println(i);//}


原创粉丝点击