【Java】Collection接口的实现

本文介绍了Java中的Collection接口,它是List和Set接口的父接口,提供了通用的方法。通过示例展示了如何添加、遍历、删除和检查元素,包括add(), addAll(), remove(), clear(), contains()等操作。此外,还探讨了Iterator在遍历集合中的作用。" 128191515,8628902,使用贝叶斯优化调优MATLAB中的深度学习CNN,"['深度学习', 'matlab', 'cnn', '贝叶斯优化', '超参数调优']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Collection 接口

Collection是 List 接口和 Set 接口的父接口,通常情况下不被直接使用。所以Collection 接口定义了一些通用的方法,通过这些方法可以实现对集合的基本操作。因为 List 接口和 Set 接口继承自 Collection 接口,所以也可以调用这些方法。

实现方法

方法解释
add(E e)向集合中添加一个元素,E指的是e元素的数据类型
addAll(Collection c)向集合中添加集合 c 中的所有元素
clear()清除所有元素
contains(Object o)判断集合中是否包含指定元素
containsAll(Collection c)判断集合中是否包含集合 c 中的所有元素
isEmpty()判断集合是否为空
Iterator<E>iterator()返回一个 Iterator 对象,用于遍历集合中的元素
remove(Object o)删除一个指定元素
removeAll(Collection c)删除集合 c 中所有的元素
retainAll(Collection c)仅保留集合 c 中出现的元素
int size()返回集合中元素的个数,也叫集合的大小
Object[] toArray()返回包含此集合中所有元素的数组

举例1:如何向集合中添加元素并遍历出来

import java.util.ArrayList;
import java.util.Iterator;

public class Collection1 {
	public static void main(String[] args) {
		@SuppressWarnings("rawtypes")
		ArrayList<String> list1 = new ArrayList(); // 创建集合 iist1
		@SuppressWarnings("rawtypes")
		ArrayList<String> list2 = new ArrayList(); // 创建集合 Iist2
		list1.add("one"); // 向 list1 添加一个元素
		list1.add("two"); // 向 list1 添加一个元素
		list1.add("three");// 向 list1 添加一个元素
		list2.addAll(list1); // 将 list1 的所有元素添加到 list2
		list2.add("four"); // 向 list2 添加一个元素
		System.out.println("list2 集合中的元素如下:");
		Iterator<String> it1 = list2.iterator();
		while (it1.hasNext()) {
			System.out.print(it1.next() + "、");
		}
	}
}

由于 Collection 是接口,不能对其实例化,所以上述代码中使用了 Collection 接口的 ArrayList 实现类来调用 Collection 的方法。

add() 方法可以向 Collection 中添加一个元素

addAll() 方法可以将指定 Collection 中的所有元素添加到另一个 Collection 中。

Iterator用于遍历list2中的元素。

iterator的方法:

hashNext():判断集合中元素是否遍历完毕,如果没有,就返回true。

next():则是返回下一个元素,这样对于需要遍历的地方,就不需要知道元素的个数了。


创建两个集合 list1 和 list2,然后调用 add() 方法向 list1 中添加了三个元素,再调用 addAll() 方法将这三个元素添加到 list2 中。接下来又向 list2 中添加了一个元素,最后输出 list2 集合中的所有元素

结果如下:

list2 集合中的元素如下:
one、two、three、four、

举例2:remove(),clear(),contains()的使用

import java.util.ArrayList;
import java.util.Iterator;

public class Collection2 {
	@SuppressWarnings("unchecked")
	public static void main(String[] args)
	{
	    @SuppressWarnings("rawtypes")
		ArrayList list1=new ArrayList();    //创建集合 list1
	    @SuppressWarnings("rawtypes")
		ArrayList list2=new ArrayList();    //创建集合 list2
	    list1.add("one");
	    list1.add("two");
	    list1.add("three");
	    System.out.println("list1 集合中的元素数量:"+list1.size());    //输出list1中的元素数量
	    list2.add("two");
	    list2.add("four");
	    list2.add("six");
	    System.out.println("list2 集合中的元素数量:"+list2.size());     //输出list2中的元素数量
	    System.out.println("\n执行删除操作:");
	    list2.remove(2);    //删除第 3 个元素
	    System.out.println("list2 集合中的元素数量:"+list2.size());
	    System.out.println("list2集合中的元素如下:");
	    Iterator<String> it1=list2.iterator();
	    while(it1.hasNext())
	    {
	        System.out.print(it1.next()+"、");
	    }
	    System.out.println("\n执行删除所有操作:");
	    list1.removeAll(list2);//删除list1中包含list2的所有元素
	    System.out.println("list1 集合中的元素数量:"+list1.size());
	    System.out.println("list1集合中的元素如下:");
	    Iterator<String> it2=list1.iterator();
	    while(it2.hasNext())
	    {
	        System.out.print(it2.next()+"、");
	    }
	    System.out.println("\n执行包含操作:");
	    list2.containsAll(list1);//从list2中找出与list1中的不相同元素
	    System.out.println("list2集合中的元素数量:"+list2.size());
	    System.out.println("list2集合中的元素如下:");
	    Iterator<String> it3=list2.iterator();
	    while(it3.hasNext())
	    {
	        System.out.print(it3.next()+"、");
	    }
	}

 list2 集合调用 remove(2) 方法删除第 3 个元素之后剩下了 two 和 four。

list1.removeAll(list2) 语句会从 list1 中将 list1 和 list2 中相同的元素删除,即删除 two 元素。

list2.containsAll(list1)语句会从list2中找出与list1中不相同的·元素(这个具体怎么理解我也在研究)

最后输出结果如下:

list1 集合中的元素数量:3
list2 集合中的元素数量:3

执行删除操作:
list2 集合中的元素数量:2
list2集合中的元素如下:
two、four、
执行删除所有操作:
list1 集合中的元素数量:2
list1集合中的元素如下:
one、three、
执行包含操作:
list2集合中的元素数量:2
list2集合中的元素如下:
two、four、

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值