java Collection接口详细介绍

KLQ 2020-08-25 10:32:53 java常见问答 9873

下面要给大家介绍的是java接口方面的知识,主要会介绍到的就是java Collection接口,那么对于这个接口你了解多少呢?下面一起通过详细的文章内容来进行一下学习和了解吧。

Collection接口是List、Set和Queue接口的父接口,通常情况下不被直接使用,Collection接口定义了一些通用的方法,通过这些方法能够实现对集合的基本操作,定义的方法既能够用于操作set集合,也能够用于操作List集合和Queue集合。

下面的话就来介绍一下Collection接口中常用的方法:

boolean add(E e)---向集合中添加一个元素,假如,集合对象被添加操作改变了,那么返回true,E是元素的数据类型;

boolean addAll(Collection c)---向集合中添加集合c中的所有元素,假如,集合对象被添加操作改变了,那么返回true;

void clear()---清除集合中的所有元素,将集合长度变为0;

boolean contains(Object o)---判断集合中是否存在指定元素;

boolean containsAll(Collection c)---判断集合中是否包含集合c中的所有元素;

boolean isEmpty()---判断集合是否为空;

Iteratoriterator()---返回一个Iterator对象,用于遍历集合中的元素;

boolean remove(Object o)---从集合中删除一个指定元素,当集合中包含了一个或多个元素o的时候,这个方法只删除第一个符合条件的元素,这个方法将返回true;

boolean removeAll(Collection c)---从集合中删除所有在集合c中出现的元素(相当于把调用该方法的集合减去集合 c),假如,这个操作改变了调用该方法的集合,那么这个方法返回 true;

boolean retainAll(Collection c)---从集合中删除集合c里不包含的元素(相当于把调用该方法的集合变成该集合和集合 c 的交集),假如,这个操作改变了调用该方法的集合,那么,这个方法返回true;

int size()---返回集合中元素的个数;

Object[] toArray()---把集合转换为一个数组,所有的集合元素变成对应的数组元素;

注意,上面方法来源于Java API文档。

示例:

编写一个程序,演示怎样使用Collection接口向集合中添加方法。

具体实现代码:

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

因为Collection是接口,不可以对它实例化,所以在上面的代码当中使用了Collection接口的 ArrayList实现类来调用Collection的方法。add()方法能够向Collection中添加一个元素,而调用addAll()方法可以将指定Collection中的所有元素添加到另一个Collection中。

代码创建了两个集合list1和list2,之后,调用add()方法向list1中添加了两个元素,之后,调用addAll()方法把这两个元素添加到list2中,接下来又向list2中添加了一个元素,最后输出list2集合中的所有元素,结果:

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

示例:

演示Collection集合中 size()、remove()和removeAll()方法的应用。

具体代码:

public static void main(String[] args)
{
    ArrayList list1 = new ArrayList(); // 创建集合 list1
    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中的元素数量
    list2.remove(2); // 删除第 3 个元素
    System.out.println("\nremoveAll() 方法之后 list2 集合中的元素数量:" + list2.size());
    System.out.println("list2 集合中的元素如下:");
    Iterator it1 = list2.iterator();
    while (it1.hasNext())
    {
        System.out.print(it1.next() + "、");
    }
    list1.removeAll(list2);
    System.out.println("\nremoveAll() 方法之后 list1 集合中的元素数量:" + list1.size());
    System.out.println("list1 集合中的元素如下:");
    Iterator it2 = list1.iterator();
    while (it2.hasNext())
    {
        System.out.print(it2.next() + "、");
    }
}

list2集合在调用remove(2)方法删除第3个元素之后剩下了two和four,list1.removeAll(list2)语句会从list1中将list1和list2中相同的元素删除,即删除two元素。

最后输出结果:

list1 集合中的元素数量:3
list2 集合中的元素数量:3
removeAll() 方法之后 list2 集合中的元素数量:2
list2 集合中的元素如下:
two、four、
removeAll() 方法之后 list1 集合中的元素数量:2
list1 集合中的元素如下:
one、three、

注意:retainAll( )方法的作用和removeAll( )方法相反,即保留两个集合中相同的元素,其他全部删除。

对于java Collection接口的内容就给你介绍到这里啦,更多java接口知识,请继续通过奇Q工具网的java入门栏目来进行了解吧。

推荐阅读:

java接口和类的区别是什么?它们都有哪些作用呢?

java接口的修饰符是什么?题目详解

java接口的实例,java接口应用举例