Java学习笔记 --- Collections工具类

一、基本介绍

1、Collections 是一个操作Set、List和Map等集合的工具类

2、Collections 中提供了一系列静态的方法对集合元素进行排序、查询和修改等操作

二、常用方法

排序操作

1、reverse(List):反转 List 中元素的顺序

2、shuffle(Lise):对 List 集合元素进行随机排序

3、sort(List):根据元素的自然顺序对指定 List 集合元素按升序排序

4、swap(List,int,int):将指定 List 集合中的 i 处元素和 j 处元素进行交换

import java.lang.reflect.Array;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;

public class Collections01 {
    public static void main(String[] args) {
        List list = new ArrayList();
        list.add("tom");
        list.add("smith");
        list.add("king");
        list.add("ja");

        //1、reverse(List):反转 List 中元素的顺序
        Collections.reverse(list);
        System.out.println(list);//[ja, king, smith, tom]

        //2、shuffle(Lise):对 List 集合元素进行随机排序
        Collections.shuffle(list);
        System.out.println(list);//每次输出的结果随机

        //3、sort(List):根据元素的自然顺序对指定 List 集合元素按升序排序
        //希望按照字符串长度排序
        Collections.sort(list, new Comparator() {
            @Override
            public int compare(Object o1, Object o2) {
                return ((String)  o2).length() - ((String) o1).length();
            }
        });
        System.out.println(list);//[smith, king, tom, ja]

        //4、swap(List,int,int):将指定 List 集合中的 i 处元素和 j 处元素进行交换
        Collections.swap(list, 0, 2);
        System.out.println(list);//[tom, king, smith, ja]
    }
}

查找、替换

1、Object max(Collection):根据元素的自然顺序排序,返回给定集合中的最大元素

2、Object max(Collection,Comparator):根据Comparator指定的顺序返回给定集合中的最大

      元素

3、Object min(Collection):根据元素的自然顺序排序,返回给定集合中的最小元素

4、Object min(Collection,Comparator)

5、int frequency(Collection,Object):返回指定集合中指定元素出现的次数

6、void copy(List dest,Lisr src):将 src 中的内容复制到 dest 中

7、boolean replaceAll(List list,Object oldVal,Object newVal):使用新值替换 List对象的所有

      旧值

package com.javase.collections_;

import java.lang.reflect.Array;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;

public class Collections01 {
    public static void main(String[] args) {
        List list = new ArrayList();
        list.add("tom");
        list.add("smith");
        list.add("king");
        list.add("ja");
        list.add("tom");

        //查找、替换
        //1、Object max(Collection):根据元素的自然顺序排序,返回给定集合中的最大元素
        System.out.println(Collections.max(list));//tom

        //2、Object max(Collection,Comparator):根据Comparator指定的顺序返回给定集合中的最大元素
        //希望返回长度最大的字符串
        Object max = Collections.max(list, new Comparator() {
            @Override
            public int compare(Object o1, Object o2) {
                return ((String) o1).length() - ((String) o2).length();
            }
        });
        System.out.println(max);//smith

        //3、Object min(Collection):根据元素的自然顺序排序,返回给定集合中的最小元素
        //4、Object min(Collection,Comparator)
        //使用方法参考上面的max

        //5、int frequency(Collection,Object):返回指定集合中指定元素出现的次数
        System.out.println(Collections.frequency(list, "tom"));//2

        //6、void copy(List dest,Lisr src):将 src 中的内容复制到 dest 中
        List dest = new ArrayList();
        //为了完成拷贝,需要先给 dest 赋值,大小和 list.size() 一样
        for (int i = 0; i < list.size(); i++) {
            dest.add("");
        }
        //拷贝
        Collections.copy(dest, list);
        System.out.println(dest);

        //7、boolean replaceAll(List list,Object oldVal,Object newVal):使用新值替换 List对象的所有旧值
        //如果list 中有 "tom" 就替换成 "汤姆"
        Collections.replaceAll(list, "tom", "汤姆");
        System.out.println(list);
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值