Java中Collection和Collections的区别(Demo详解)

简介: Java基础学习分享!
【辰兮要努力】:hello你好我是辰兮,很高兴你能来阅读,昵称是希望自己能不断精进,向着优秀程序员前行!

博客来源于项目以及编程中遇到的问题总结,偶尔会有读书分享,我会陆续更新Java前端、后台、数据库、项目案例等相关知识点总结,感谢你的阅读和关注,希望我的博客能帮助到更多的人,分享获取新知,大家一起进步!

吾等采石之人,应怀大教堂之心,愿你们奔赴在各自的热爱中…

最近在阅读大家的面试博客,比较经常提及的一个点就是Java中Collection和Collections的区别,那我就简单整理一下吧!

在这里插入图片描述

Collection是一个集合接口。它提供了对集合对象进行基本操作的通用接口方法。实现该接口的类主要有List和Set,该接口的设计目标是为了各种具体的集合提供最大化的统一的操作方式。
  
Java集合相关知识请参考:List和Set集合基础详解  


Collections是针对集合类的一个包裹类,它提供了一系列静态方法实现对各种集合的搜索、排序以及线程安全化等操作,其中的大多数方法都是用于处理线性表。Collections类不能实例化,如同一个工具类,服务于Collection框架。如果在使用Collections类的方法时,对应的Collection对象null,则这些方法都会抛出NullPointerException。


总结:Collection是一个集合接口,Collections是针对集合类的一个包装类,工具类

在这里插入图片描述
java.util.Collections 是一个包装类。它包含有各种有关集合操作的 静态多态方法。此类不能实例化,就像一 个工具类,服务于Java的Collection框架。

我用Java代码给大家演示了一些Collections 中常用方法:可亲测实践

package com.bcqn.controller;

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

public class TestCollection {
    public static void main(String[] args) {
        List<Integer> list = new ArrayList<>();
        int array[] = {12, 2020, 30, 123, 999};
        for (int i = 0; i < array.length; i++) {
            list.add(array[i]);
        }
        //排序(Sort)
        Collections.sort(list);//排序
        System.out.println(list);

       //反转(Reverse)
        //使用Reverse方法可以根据元素的自然顺序,对指定列表按降序进行排序。
        Collections.reverse(list);//反转
        System.out.println(list);

        //替换所有元素(Fill)
        Collections.fill(list,-1);//替换
        System.out.println(list);

        //拷贝(copy)
        int array1[] = {12, 2020, 30, 123, 999};
        for (int i = 0; i < array1.length; i++) {
            list.add(array[i]);
        }
        List<Integer> list1 = new ArrayList<Integer>(Arrays.asList(new Integer[list.size()]));//目标列表
        Collections.copy(list1,list);//替换
        System.out.println(list1);
        //返回Collections中最小元素(min)
        int min = Collections.min(list);//替换
        System.out.println("返回Collections中最小元素(min):"+min);

        //返回Collections中最大元素(max)
        for (int i = 0; i < array1.length; i++) {
            list.add(array[i]);
        }
        int max = Collections.max(list);//替换
        System.out.println("返回Collections中最大元素(max):"+max);

    }

}
 

运行结果

[12, 30, 123, 999, 2020]
[2020, 999, 123, 30, 12]
[-1, -1, -1, -1, -1]
[-1, -1, -1, -1, -1, 12, 2020, 30, 123, 999]
返回Collections中最小元素(min):-1
返回Collections中最大元素(max):2020

Process finished with exit code 0

哈哈这下不会犯迷糊了吧!


The best investment is to invest in yourself.

非常感谢你阅读到这里,如果这篇文章对你有帮助,希望能留下你的点赞👍 关注❤️ 分享👥 留言💬thanks!!!

愿你们奔赴在自己的热爱里!

目录
相关文章
|
4天前
|
机器学习/深度学习 人工智能 安全
python和Java的区别以及特性
Python:适合快速开发、易于维护、学习成本低、灵活高效。如果你需要快速上手,写脚本、数据处理、做点机器学习,Python就是你的首选。 Java:适合大型项目、企业级应用,性能要求较高的场景。它类型安全、跨平台能力强,而且有丰富的生态,适合更复杂和规模化的开发。
14 3
|
23天前
|
XML JSON 前端开发
Java @RequestParam和@RequestBody的区别是什么?
【8月更文挑战第28天】Java @RequestParam和@RequestBody的区别是什么?
27 5
|
1天前
|
监控 算法 Java
Java中的内存管理:理解Garbage Collection机制
本文将深入探讨Java编程语言中的内存管理,特别是垃圾回收(Garbage Collection, GC)机制。我们将从基础概念开始,逐步解析垃圾回收的工作原理、不同类型的垃圾回收器以及它们在实际项目中的应用。通过实际案例,读者将能更好地理解Java应用的性能调优技巧及最佳实践。
9 0
|
29天前
|
Java
Java 中 notify() 和 notifyAll() 的区别
【8月更文挑战第22天】
43 4
|
29天前
|
Java
|
28天前
|
存储 安全 Java
Java 中 ArrayList 和 HashSet 的区别
【8月更文挑战第23天】
34 2
|
28天前
|
Java 调度
|
28天前
|
存储 安全 Java
Java 中数组和 ArrayList 的区别
【8月更文挑战第23天】
28 1
|
27天前
|
Java 程序员
详解Java中的抽象类与接口的区别
【8月更文挑战第24天】
22 0