工具类,顾名思义就是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);}
}

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

  1. [java][工具类][Collections]

    Collections类 1,介绍 Collections 是 JDK 提供的工具类,位于 java.util 包中,它有一系列的静态方法,能方便的操作各种集合. 2,常用方法 排序 List< ...

  2. 操作集合的工具类Collections

    1       操作集合的工具类Collections Java提供了一个操作Set.List和Map等集合的工具类:Collections,该工具类里提供了大量方法对集合元素进行排序.查询和修改等操 ...

  3. java工具类与集合类_JAVA学习---集合和工具类

    1.集合概述 总称,包含多个具体的类 1.1集合和数组的比较 数组 集合 大小固定 动态变化 效率较高.只存储原生数据类型 效率稍低.可以存储引用类型 只能存放单一数据类型 可以存储多种数据类型(除泛 ...

  4. java xml最火的的工具_几种高效的Java工具类推荐

    本文将介绍了十二种常用的.高效的Java工具类 在Java中,工具类定义了一组公共方法,这篇文章将介绍Java中使用最频繁及最通用的Java工具类. 在开发中,使用这些工具类,不仅可以提高编码效率,还 ...

  5. 好用的Java工具类

    1. Collections 首先出场的是java.util包下的Collections类,该类主要用于操作集合或者返回集合,我个人非常喜欢用它. 1.1 排序 在工作中经常有对集合排序的需求. 看看 ...

  6. java工具类-排序介绍

    1.介绍 前面针对不同的排序算法做了一个总结分析,下面介绍一下java中的内部工具类的排序算法. 本文将介绍如何利用java现有的类库对数组和各种Collection容器进行排序. 2.现有排序类 目 ...

  7. (6)常用的Java工具类

    目录 前言: 第一部分:常用的16个工具类 一.org.apache.commons.io.IOUtils 二.org.apache.commons.io.FileUtils 三.org.apache ...

  8. 干货:排名前 16 的 Java 工具类!

    2019独角兽企业重金招聘Python工程师标准>>> 干货:排名前 16 的 Java 工具类!   在Java中,工具类定义了一组公共方法,这篇文章将介绍Java中使用最频繁及最 ...

  9. 排名前 16 的 Java 工具类

    转载来自微信公众号:Java 技术栈.如有侵权,请联系作者删除!! 在 Java 中,工具类定义了一组公共方法,这篇文章将介绍 Java 中使用最频繁及最通用的 Java 工具类.以下工具类.方法按使 ...

  10. beanutils工具类_16 个超级实用的 Java 工具类!

    在Java中,工具类定义了一组公共方法,这篇文章将介绍Java中使用最频繁及最通用的Java工具类.以下工具类.方法按使用流行度排名,参考数据来源于Github上随机选取的5万个开源项目源码. 一. ...

最新文章

  1. 广告等第三方应用嵌入到web页面方案 之 使用js片段
  2. C++中cin输入类型不匹配解决方法
  3. 使用Spring进行不同开发所需要用到的包
  4. 在Mac电脑上如何对 Brotli格式进行压缩与提取
  5. 笨办法学 Python · 续 练习 29:`diff`和`patch`
  6. c++ opencv 识别车牌_小强学Python+OpenCV之-1.0开篇
  7. 为初学者介绍10个最常被问到的Javascript问题
  8. 解决error: Microsoft Visual C++ 14.0 is required 问题
  9. 如果你是加勒比海盗首领,会选择哪种算法来使价值最大化?
  10. MSChart控件文档资料合集
  11. libxml2交叉编译
  12. springmvc实现多图片上传
  13. 在我的世界修改服务器吗 名字,我的世界怎么改名字
  14. Docker的基本管理命令!!!学会docker的第一步
  15. CGAL 4.11 官方文档 软件包概述 ——多边形类
  16. Zeppelin(0.10.1版本)安装及创建hive解释器
  17. 2021Java进阶学习资料!熬夜整理小米Java面试题
  18. Logi-KafkaManager安装
  19. 设计一个用于人事管理的“人员”类
  20. 海伦公式的计算机表达,海伦公式之算法与程序框图

热门文章

  1. Java+CountDownLatch多任务处理优化
  2. ESP8266-12 wifi芯片使用教程1——串口输出Hello world
  3. 服务器散热风扇的制作流程,散热风扇生产操作工艺--制作流程
  4. Java map去空值
  5. IMS:MotionEvent 坐标点(上)
  6. 自定义组件-behaviors
  7. 2022年下半年软件设计师考试报名时间
  8. 判断日期是月末java_判断一个日期是否为月末 | 学步园
  9. 酷睿处理器型号前面的字母代表什么
  10. 【C语言】厘米换算英尺英寸