1、Collections工具类介绍

  1. Collections 是一个操作 Set、List 和 Map 等集合的工具类
  2. Collections 中提供了一系列静态的方法对集合元素进行排序、查询和修改等操作

2、排序操作(均为static方法)

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

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

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

  4. sort(List,comparator):根据指定的Comparator 产生的顺序对List 集合元素进行排序

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

    package com.hspedu.collections_;
    
    import java.util.*;
    
    @SuppressWarnings({"all"})
    public class Collections_ {
    public static void main(String[] args) { //创建ArrayList 集合,用于测试
    List list = new ArrayList();
    list.add("tom");
    list.add("smith");
    list.add("king");
    list.add("milan");
    System.out.println(list); Collections.reverse(list);
    System.out.println(list); Collections.shuffle(list);
    System.out.println(list); Collections.sort(list);
    System.out.println(list); Collections.sort(list, new Comparator() {
    @Override
    public int compare(Object o1, Object o2) {
    return ((String) o1).length() - ((String) o2).length();
    }
    });
    System.out.println(list); Collections.swap(list,0,1);
    System.out.println(list); }
    }
    /*
    运行结果:
    [tom, smith, king, milan]
    [milan, king, smith, tom]
    [milan, smith, king, tom]
    [king, milan, smith, tom]
    [tom, king, milan, smith]
    [king, tom, milan, smith]
    */

3、查找、替换

  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, List src):将src中的内容复制到dest中
  7. boolean replaceAll(List list, Object oldVal, Object newVal):使用新值替换List 对象的所有旧值
package com.hspedu.collections_;

import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List; @SuppressWarnings({"all"})
public class Collections_1 {
public static void main(String[] args) { //创建ArrayList 集合,用于测试
List list = new ArrayList();
list.add("tom");
list.add("tom");
list.add("smith");
list.add("king");
list.add("milan");
System.out.println(list); System.out.println(Collections.max(list)); Object maxObject = Collections.max(list, new Comparator() {
@Override
public int compare(Object o1, Object o2) {
return ((String) o1).length() - ((String) o2).length();
}
});
System.out.println(maxObject); System.out.println("tom 出现的次数= " + Collections.frequency(list,"tom")); ArrayList dest = new ArrayList();
//为了完成一个完整拷贝,我们需要先给dest 赋值,大小和list.size()一样
for (int i = 0; i < list.size(); i++) {
dest.add("");
}
Collections.copy(dest,list);
System.out.println("dest= " + dest); Collections.replaceAll(list,"tom","汤姆");
System.out.println(list); }
}
/*
运行结果:
[tom, tom, smith, king, milan]
tom
smith
tom 出现的次数= 2
dest= [tom, tom, smith, king, milan]
[汤姆, 汤姆, smith, king, milan] */

最新文章

  1. 关于 escape、encodeURI、encodeURIComponent
  2. android事件分发机制
  3. 通过反射获取SSM的controller层的注解以及注解中的value值
  4. 第十三课:js操作节点的创建
  5. ubuntu下sh文件使用
  6. Android开发环境搭建(windows OS)之补充
  7. ubuntu16.04 server安装小记
  8. c++设计模式之观察者模式
  9. Longest Palindromic Substring - 字符串中最长的回文字段
  10. JavaScript中的for in循环
  11. USACO 2017 February Platinum
  12. 在centos,docker中安装HeadlessChrome
  13. 第 9 章 数据管理 - 076 - 使用 Rex-Ray volume
  14. javaScript放在head和body的区别
  15. bzoj5093:[Lydsy1711月赛]图的价值
  16. hashMap tableSizeFor 实现原理
  17. Node.js &amp; SSR
  18. 将Spring-boot应用部署到Docker容器
  19. 7.MySQL必知必会之用通配符进行过滤-like
  20. 控制器pop时没有被销毁(没有走dealloc方法)错误原因

热门文章

  1. 基于SpERT的中文关系抽取
  2. Go语言核心36讲47
  3. 谈软件-专家谈C/C++重构的操作与思路
  4. hashcat 命令
  5. 盘点现在用的SqlServer 5种分页方式和拉姆达表达式分页,进来看看吧。
  6. 巧如范金,精比琢玉,一分钟高效打造精美详实的Go语言技术简历(Golang1.18)
  7. 简单易用的监控告警系统 | HertzBeat 在 Rainbond 上的使用分享
  8. day07-功能实现06
  9. JS 过滤数组中 对象的某个属性
  10. 2021 &amp; 2022年终回顾:山河无恙,烟火寻常