专栏首页灰小猿技术社区Java集合类之Collection接口,集合的“爸爸”接口了解一下?

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

Hello!没技术的大灰狼又来了,今天和小伙伴分享一个Java项目开发中比较常用的存储数据的方法----集合。

想到集合,可能很多小伙伴都会想到数组,那么集合和数组又有什么样的区别呢?且听大灰狼一一分解哟!

.

什么是集合?

在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<String> list1 = new ArrayList<>();
		list1.add("a");
		list1.add("b");
		list1.add("c");
		
		//创建一个迭代器用于接收list1集合的迭代器
		Iterator<String> lt = list1.iterator();
		
		while(lt.hasNext())
		{
			//观察lt.hasNext()此时的值
			//System.out.println(lt.hasNext());
			
			String string = (String) lt.next();
			System.out.println(string);
		}
	}

}

运行结果如图所示:

其中我们需要导入Java.ntil包,这是使用集合类时所需要依据的,it.hasNext()方法的作用是判断是否还有下一个元素,如果有,就用it.next()获取到该元素,并且输出。

Collection接口是集合类的根本,也是集合类的继承类,所以了解Collection接口对于学习集合是十分重要的。

觉得有用记得点赞关注哟!

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Java接口也有坑?不容忽视!

    前段时间和大家分享了在C#和Java中抽象类的实现,主要是对抽象类在C#和Java中的实现进行了简单的对比。感兴趣的小伙伴可以移步至我的这篇博客“抽象类到底抽不...

    灰小猿
  • 盘点Java窗体中关于默认布局管理器容易踩的坑

    最近在使用Java窗体进行界面布局设置时,遇到这样一个问题,就是无论如何进行控件的布局,结果窗体上就只会布满整一个控件,代码和结果如下这样。

    灰小猿
  • 值得练手的JavaGUI项目——色彩调节器的实现【附完整源码】

    最近在做开发的时候有用到红、绿、蓝三色号的色彩调节,然后想使用某种色彩还需要去相关的网站上进行查询很是麻烦,于是就想着利用Java的GUI开发一个简单的调色器。...

    灰小猿
  • 魔术里的集合、映射和关系(二)——集合怎么用?

    要知道,集合本身代表的是真真切切的对象的总体,而我们日常交流中又不可能真的把这些实物拿过来才能表示相应的集合,因此,我们需要用一组数学符号来代表这些真实的集合,...

    magic2728
  • Python内置数据结构之集合

    今天给大家介绍内置数据结构集合的用法。 看一下集合的思维导图: ? 集合的特点 元素是唯一的 元素是无序的,不是线性结构 集合元素是可hash的 聚合的含义和数...

    1846122963
  • .Net多线程编程—并发集合

    并发集合 1 为什么使用并发集合? 原因主要有以下几点: System.Collections和System.Collections.Generic名称空间中所...

    甜橙很酸
  • 4.93Python数据类型之(8)集合

    py3study
  • 2018-09-21 JAVA的集合类关系总结,基础知识太不扎实了

    *面向对象语言对事物的体现都是以对象的形式,所以为了方便对多个对象的操作,就对对象进行存储,集合就是存储对象最常用的一种方式。

    Albert陈凯
  • Javascript[0x09] -- 集合

    实现的时候一个巧妙的点,是使用对象而不是数组表示集合,我们知道Javascript中一个键只有一个值。

    丰臣正一
  • Java 集合深入理解(3):Collection

    今天心情有点粉,来学学 Collection 吧! 什么是集合? 集合,或者叫容器,是一个包含多个元素的对象; 集合可以对数据进行存储,检索,操作; 它们可以...

    张拭心 shixinzhang

扫码关注云+社区

领取腾讯云代金券