Java之集合框架Collections工具类

一:Collections 工具类

  • Collections是一个提供对集合对象进行各种操作的静态方法的工具类,包括排序、搜索、线程安全化、同步控制等
  • Java里关于集合的工具类,包含有各种有关集合操作的静态方法,不能实例化(把构造函数私有化)
  • 和Collection的区别
    • Collection是接口,提供了对集合对象进行基本操作的通用接口方法,List、Set等多种具体的实现类
    • Collections是工具类,专门操作Collection接口实现类里面的元素

二:常见方法

  • 排序 sort(List list)
    • 按自然排序的升序排序

      package chapter8;
      
      import java.util.ArrayList;
      import java.util.Collections;
      import java.util.Comparator;
      import java.util.List;
      
      public class CollectionsDemo {
      
          public static void main(String[] args) {
              List<String> list = new ArrayList<>();
              list.add("aaaa");
              list.add("zzzz");
              list.add("bbbb");
      
              System.out.println("list升序前:" + list);
              Collections.sort(list);
              System.out.println("list升序后:" + list);
          }
      }
      
      /**
      运行结果:
      list升序前:[aaaa, zzzz, bbbb]
      list升序后:[aaaa, bbbb, zzzz]
      */
      
      
    • sort(List list, Comparator c) 自定义排序规则,由Comparator控制排序逻辑

      package chapter8;
      
      import java.util.ArrayList;
      import java.util.Collections;
      import java.util.Comparator;
      import java.util.List;
      
      public class CollectionsDemo {
      
          public static void main(String[] args) {
              List<String> list = new ArrayList<>();
              list.add("aaaa");
              list.add("zzzz");
              list.add("bbbb");
      
              //默认升序
              Collections.sort(list, Comparator.naturalOrder());
              System.out.println("list升序:" + list);
      
              //降序
              Collections.sort(list,Comparator.reverseOrder());
              System.out.println("list降序:" + list);
      
          }
      
      }
      
      /**
      运行结果:
      list升序:[aaaa, bbbb, zzzz]
      list降序:[zzzz, bbbb, aaaa]
      */
      
  • 随机排序 shuffle(List list)
package chapter8;

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

public class CollectionsDemo {

    public static void main(String[] args) {
        test1();
    }

    public static void test1(){
        List<String> list = new ArrayList<>();
        list.add("1");
        list.add("2");
        list.add("3");
        list.add("4");
        list.add("5");
        list.add("6");
        list.add("7");
        list.add("8");
        list.add("9");
        list.add("10");
        list.add("J");
        list.add("Q");
        list.add("K");
        System.out.println("list:" + list);
        Collections.shuffle(list);
        System.out.println("打乱后: " + list);
    }
}
/**
运行结果:
list:[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, J, Q, K]
打乱后: [K, 3, 10, 5, 7, 8, 4, Q, 6, 1, 9, J, 2]
*/

  • 5
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值