Java集合类之Collection接口,集合的“爸爸”接口了解一下?

本文介绍了Java中的集合概念,重点阐述了Collection接口的作用,以及List和Set的区别,包括数组与集合的对比、元素的增删操作和遍历方法。
摘要由CSDN通过智能技术生成

什么是集合?

=========================================================================

在Java中,集合可以看做是一个容器,如它可以是一个衣柜,里面装满了不同的衣服;它也可以是一个书柜,里面塞满了各种各样不同的书籍,我们可以随时的将它们取出或者放入,并且可以按照一定的顺序存放这些在容器中的元素。

在Java中提供了不同的集合类,也可以说是不同形状的容器,而这些类提供了不同的存储方式,同时还提供了相应的方法。从而方便用户对集合中的元素进行遍历、添加、删除以及提取指定对象等操作。

.

集合和数组有什么区别?

==============================================================================

从表面上看,数组和集合都是存储数据的一种方法,但是需要注意了!

数组的存取长度是固定的,而集合的存取长度是可变的,也就是说,你在使用数组的时候,会先将数组的长度定义好,比如100,那么你就只能在这个数组中存放100个数据,而集合就不同了,集合的长度是不固定的,其中的元素个数可以是0、1,也可以是1000或者10000。

在数据的存储上,集合和数组也是有不同的,数组存放的是基本的数据类型,也就是如果是int型,则内部元素就一定是int型,而集合就不一样了,集合是用来存放对象的引用,在集合中的元素可以是int型,string型等任意数据类型。

我们平常在进行开发的时候常用的集合有List集合、Set集合和Map集合,而List集合和Set集合就继承了我们今天要说的Collection接口,所以才将其叫做“爸爸”接口嘛。而且各接口还提供了不同是实现类。这里有一个集合类的继承关系图,小伙伴可以参考:

在这里插入图片描述

那么接下来,大灰狼就来和大家聊一聊这个能够成为List集合和Set集合的继承的接口的“爸爸”接口是怎样的。

.

Collection接口

===============================================================================

Collection接口是层次结构中的根接口,构成Collection的单位成为元素,一般来说呢,Collection接口不能直接使用,但是该接口提供了增加、删除元素和管理数据的一些方法,并且由于List集合和Set集合继承了Collection接口,因此这些方法对于List集合和Set集合都是通用的。

下表就是Collection接口常用的一些方法:

| 方法 | 功能描述 |

| — | — |

| add(E) | 将指定的对象添加到该集合中 |

| remove(Object) | 将指定的对象从该集合中移除 |

| IsEmpty() | 返回boollean值,判断当前集合是否为空 |

| Iterator() | 返回在此Collection的元素上进行迭代的迭代器,用于遍历集合中的对象 |

| Size() | 返回int型数值,获取该集合中元素的个数 |

.

如何遍历集合中的元素

=============================================================================

想要遍历集合中的元素,一般都是通过迭代器来实现,Collection接口中的Iterator()方法返回在此Collection接口处进行迭代的迭代器,通过while循环进行遍历。

下面是使用Collection接口进行集合的创建与遍历的过程:

package priject1;

import java.util.ArrayList;

import java.util.Collection;

import java.util.Iterator;

import java.util.List;

public class ArrayList_1 {

public static void main(String[] args) {

// TODO Auto-generated method stub

//创建一个Collection接口的列表

Collection list1 = new ArrayList<>();

list1.add(“a”);

list1.add(“b”);

list1.add(“c”);

//创建一个迭代器用于接收list1集合的迭代器

Iterator lt = list1.iterator();

while(lt.hasNext())

{

//观察lt.hasNext()此时的值

//System.out.println(lt.hasNext());

String string = (String) lt.next();

System.out.println(string);

最后

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
,这些资料都将为你打开新的学习之门!**

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值