COLLECTION(Java中Collection与Collections有什么区别?)

Java中Collection与Collections有什么区别?

本文将为各位具体解说Java中Collection与Collections的区别点,这是我们举行开发时常常用到的知识点,也是各位在学习Java中很紧张的一个知识点,更是我们在口试时有约莫会问到的成绩!

文章较长,干货满满,发起各位保藏徐徐学习。文末有本文重点总结,主页有全系列文章分享。武艺类成绩,接待各位和我们一同交换讨论!

弁言

停止到如今我们以前把 Java里的List、Set和Map 这三大聚集都给各位解说终了了,不晓得列位把握了几多呢?假如你对之前的内容还没有熟稔把握,可以把前方的文章再多读几遍。假如你以前把握的很好了,那就持续阅读今天的内容吧。今天会再用一篇文章,把聚集中脱漏的内容给各位梳理一下,好比Collection与Collections的区别。

全文约莫 【3300】 字,不说空话,只讲可以让你学到武艺、明白原理的纯干货!本文带有丰厚的案例及配图视频,让你更好地域解和运用文中的武艺看法,并可以给你带来具有充足启示的思索...

一. 知识回忆

1. Java聚集体系

依据前方给各位解说的内容可知,Java的聚集全体上可以分为 CollectionMap 两大要系,而从这两大要系中又可以延伸细分为 3个子典范:

List-列表

Set-集

Map-映射

从全体上去看,这几种聚集之间的干系如下图所示:

2. 聚集的干系图谱

别的聚集的各个接口和类之间除了有协同之处,它们也有一些各自的特点,我们可以看看底下这个聚集的干系图谱:

在上图中,有3个中心API必要我们把握:

  • Iterator: 我们可以经过迭代器遍历聚集中的数据;
  • Collection: Collection是List、Set、Queue 这3种聚集的父级接口;
  • Map: Map是映射表的父级接口。

为了让各位加深印象,接下去我们再单独复习一下Collection接口是怎样回事。

二. Collection

1. 简介

Collection是Java聚集框架中的一个接口,它界说了一组用于存储、拜候和操刁难象的办法。它是Java聚集框架中的基本接口之一,我们常用的很多聚集类都完成了Collection接口或其子接口(如List、Set、Queue等)。

2. 中心办法

Collection接口中界说了一系列用于利用聚集的通用中心办法,包含添加、删除、遍历、查找等,Collection的各个子类都必要完成这些办法。底下是一些常用的Collection接口办法:

  • add(E e):将元素e添加到聚集中;
  • remove(Object o):从聚集中删除目标o;
  • contains(Object o):推断聚集中对否包含目标o;
  • size():前往聚集中元素的个数;
  • iterator():前往聚集中元素的迭代器。

经过这些办法,我们可以轻松地利用聚集中的元素,完成种种常用的功效。

二. Collections

1. 简介

Collections是Java聚集框架为了便利我们举行聚集开发,为我们提供的一个利用Set、List和Map等聚集的东西类,位于java.util包中。该类提供了一系列的静态办法,可以完成对聚集举行排序、查找、交换、复制等利用。Collections类中的办法都是静态办法,不必要创建其目标即可使用。

使用Collections类,我们可以对聚集举行一些高等的利用,好比对聚集举行排序、查找最大值、查找最小值等。总之,Collections类中提供的办法,可以协助我们简化代码,提高开发听从。

2. 常用办法

Collections类中为我们提供的办法但是有很多,大抵可以分为以下几类:

  • 创建空缺聚集: emptyList()、emptyMap()、emptySet():前往对应的不成变的空聚集,无法向此中添加或删除元素;
  • 创建单个元素的聚集:singletonList(T o)、singletonMap(K key, V value)、singleton(T o):前往的是不成变的单位素聚集,无法向此中添加或删除元素;
  • 排序办法:sort、reverse、shuffle、swap、rotate;
  • 查找办法:binarySearch;
  • 交换办法:replaceAll、fill;
  • 复制办法:copy;
  • 同步办法:synchronizedCollection、synchronizedList、synchronizedMap等;
  • 不成修正办法:unmodifiableCollection、unmodifiableList、unmodifiableMap等;
  • 其他办法:frequency、max、min、disjoint、frequency、indexOfSubList、lastIndexOfSubList等。

接下去我们就经过几个案例,来教各位学会这些办法该怎样使用。

3. 基本使用

3.1 排序办法

Collections类给我们提供了好几个排序办法,好比sort()、reverse()、shuffle() 等,用于对聚集举行排序。

3.1.1 sort办法

sort(List list)办法用于对List聚集举行升序排序,比如:

3.1.2 reverse办法

reverse(List list)办法用于对List聚集举行反转排序,比如:

3.1.3 shuffle办法

shuffle(List list)办法用于对List聚集举行随机排序,比如:

3.2 查找办法

Collections类也给我们提供了用于对聚集举行二分查找的 binarySearch(List<? extends Comparable<? super T>> list, T key) 办法,该办法用于在有序聚集中依据二分查找法,来查找到指定的元素,并前往元素在聚集中的索引。假如指定元素不在聚集中,则前往一个正数,表现应该插进该元素的地点。 binarySearch()办法案比如下

3.3 交换办法

Collections类给我们提供了一些用于交换的办法,好比replaceAll()、fill(),用于对聚集举行交换。

3.3.1 replaceAll()办法

replaceAll(List list, T oldVal, T newVal)办法用于将List聚集中一切的旧元素交换为新元素,比如:

3.3.2 fill()办法

fill(List<? super T> list, T obj)办法用于用指定元素添补List聚集,比如:

3.4 同步办法

Collections类提供了一些同步办法,如 synchronizedCollection()、synchronizedList()、synchronizedMap() 等,用于对聚集举行同步处理,这可以确保多线程情况下的并发宁静。

3.4.1 synchronizedCollection办法

synchronizedCollection(Collection c) 办法用于将指定聚集转换为线程宁静的聚集,比如:

3.4.2 synchronizedList办法

synchronizedList(List list) 办法用于将指定的List聚集转换为线程宁静的List聚集,比如:

3.4.3 synchronizedSet办法

synchronizedSet(Set s)办法用于将指定的Set聚集转换为线程宁静的Set聚集,比如:

3.4.4 synchronizedMap办法

synchronizedMap(Map<K,V> m) 办法用于将指定的Map聚集转换为线程宁静的Map聚集,比如:

3.5 其他办法

我们可以使用max()和min()办法分散输入聚集中的最大和最小值,用frequency()办法统计某个数据在聚集中显现的次数。

我们也可以使用Collections的copy()静态办法,将指定聚集中的一切元素复制到另一个聚集中。实行copy()办法后,目标聚集中每个已复制元素的索引,将同等于源聚集中该元素的索引。

我们要注意: 目标聚集的长度最少要和源聚集的长度相反。假如目标聚集的长度更长,则不影响目标聚集中的其他元素。假如目标聚集的长度不够而无法包含整个源聚集元素,步骤会抛出 IndexOutOfBoundsException特别。

除了以上这些办法,另有其他的一些办法,好比将一个聚集变成不成变的聚集,用于对聚集举行保护等,就不再逐一给各位展现其用法了。

这些办法基本上就是见名知意,各位依据称呼调用就可以,十分的简便。总之,渴望各位可以熟稔把握Collections类的使用办法,这关于Java开发职员来说好坏常紧张的。

三. Collection与Collections的区别

综上所述,就可以把CollectionCollections的区别给各位总结出来了。CollectionCollections固然名字很相似,但它们的作用和用法完全不同,其中心区别如下:

Collection是Java聚集框架中的一个接口,界说了一组用于存储、拜候和操刁难象的办法,它是一切聚集类的基本接口之一;

Collections是Java聚集框架中的一个东西类,提供了一系列的静态办法,便利我们对聚集举行排序、查找、交换等利用,它是一个类,而不是一个接口。

简便来说,Collection是一个接口,是Java聚集框架中的基本接口之一;而Collections是一个东西类,提供了一系列静态办法,用于对聚集举行高等利用。

四. 结语

至此,就把今天的内容解说终了了,我信赖各位也以前明白了CollectionCollections的区别了。那么今天的中心内容,就是底下这些了:

Collection是Java聚集的基本接口,List、Set等都承继自该接口;

Collections是利用聚集的东西类,内里有多少个利用聚集的办法;

你要熟稔使用Collections里的几个常用办法哦。


更多出色保举:

Java基本之Map聚集是怎样回事?

Java聚集中Set都有哪些特性?看这篇就够了!

Java中List聚集有哪些特性?Java开发稀有聚集

深化浅出解说Java聚集中的Collection体系

更多步骤员资讯/IT行业信息/武艺类干货,眷注@千锋教导

内容底部广告位(手机)
标签:

管理员
草根站长管理员

专注网站优化+网络营销,只做有思想的高价值网站,只提供有担当的营销服务!

上一篇:Exclusive?独有专属性的实现与困惑 谈谈这限量的文化
下一篇:返回列表