面向对象语言(JAVA)——工具类(Collections(操作集合)代码实现理解)

工具类,顾名思义就是Java中工具的类。

Collections 类是 Java提供的一个操作 Set、List 和 Map 等集 合的工具类。Collections 类提供了许多操作集合的静态方 法,借助这些静态方法可以实现集合元素的排序、查找替换和 复制等操作。

 Collections 提供了如下方法用于对 List 集合元素进行排序。


1、void reverse(List list):对指定 List 集合元素进行逆向排 序

2、void shuffle(List list):对 List 集合元素进行随机排序 (shuffle 方法模拟了“洗牌”动作)。

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

4、void sort(List list, Comparator c):根据指定 Comparator 产生的顺序对 List 集合元素进行排序。

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

6、void rotate(List list, int distance):当 distance 为正数 时,将 list 集合的后 distance 个元素“整体”移到前面;当 distance 为负数时,将 list 集合的前 distance 个元素“整 体”移到后面。该方法不会改变集合的长度。

int binarySearch(List list, Object key):使用二分搜索法搜 索指定的 List 集合,以获得指定对象在 List 集合中的索 引。如果要使该方法可以正常工作,则必须保证 List 中的 元素已经处于有序状态。

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

Object max(Collection coll, Comparator comp):根据 Comparator 指定的顺序,返回给定集合中的最大元素。

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

Object min(Collection coll, Comparator comp):根据 Comparator 指定的顺序,返回给定集合中的最小元素。

void fill(List list, Object obj):使用指定元素 obj 替换指定 List 集合中的所有元素。

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

int indexOfSubList(List source, List target):返回子 List 对象在父 List 对象中第一次出现的位置索引;如果父 List 中没有出现这样的子 List,则返回 -1。

int lastIndexOfSubList(List source, List target):返回子 List 对象在父 List 对象中最后一次出现的位置索引;如果 父 List 中没有岀现这样的子 List,则返回 -1。

boolean replaceAll(List list, Object oldVal, Object newVal):使用一个新值 newVal 替换 List 对象的所有旧值 oldVal。 

Collections.copy(list,Copylist)中,用后者的内容覆盖前者的内容 

输出List中的数据时,如果只是想要显示数据就使用

 System.out.println(list);

如果还需要对某一个进行操作就使用迭代器

Iterator iterator1 = list.iterator();
while (iterator1.hasNext())
        {
            System.out.print(iterator1.next()+" ");
        }

public class CollectionsTest
{
    public static void main(String[] args)
    {
        List list = new ArrayList();
        List Copylist = new ArrayList();
        list.add(4);
        list.add(3);
        list.add(6);
        list.add(1);
        list.add(9);
        System.out.println("—————排序从低到高——————");
        Collections.sort(list);//排序从低到高
        System.out.println(list);

        System.out.println("—————排序从高到低——————");
        Collections.reverse(list);
        Iterator iterator1 = list.iterator();
        while (iterator1.hasNext())
        {
            System.out.print(iterator1.next()+" ");
        }

        System.out.println("\n"+"—————随机排序——————");
        Collections.shuffle(list);
        System.out.println(list);

        System.out.println("\n"+"—————重置内容——————");
        Collections.fill(list,"Lungcen");
        System.out.println(list);

        System.out.println("\n"+"—————覆盖内容——————");
        Copylist.add("H");
        Copylist.add("HH");
        Copylist.add("HHH");
        Collections.copy(list,Copylist);
        System.out.println(list);
    }
}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Lungcen

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值