Java集合类---collection接口

本文详细介绍了Java中的Collection接口及其常用方法,包括添加、删除、判断、遍历等操作,并通过示例展示了ArrayList的使用。同时,通过代码演示了toArray方法在不同场景下的应用,包括无参、有参以及不同长度参数数组的转换情况。
摘要由CSDN通过智能技术生成

1.collection接口

1.1collection常用方法:

返回值类型方法名以及用途
booleanadd(E o) :确保 (添加)collection 包含指定的元素
booleanaddAll(Collection<? extends E> c) :将指定 collection 中的所有元素都添加到此 collection 中
voidclear() :清除 collection 中的所有元素
booleancontains(Object o) :如果 collection 包含指定的元素o,则返回 true
booleancontainsAll(Collection<?> c) :如果 collection 包含指定 collection(别的) 中的所有元素,则返回 true
booleanequals(Object o) :比较 collection 与指定对象是否相等
inthashCode(): 返回 collection 的哈希码值
booleanisEmpty() :如果 collection 不包含元素,则返回 true
Iteratoriterator(); 返回在 collection 的元素上进行迭代的迭代器
booleanremove(Object o): 从 collection 中删除指定元素的单个实例,如果存在的话才可以删除,不存在抛出异常
booleanremoveAll(Collection<?> c) :删除 collection 中那些也包含在指定 collection(别的)
booleanretainAll(Collection<?> c) :仅保留 collection 中那些也包含在指定 collection(别的) 的元素
intsize():返回 collection 中的元素数
Object[]toArray():返回包含 collection 中所有元素的数组
< T > T[]toArray(T[] a) :返回包含 collection 中所有元素的数组;返回数组的运行时类型与指定数组的运行时类型相同

1.2相关代码

1.2.1代码code:

package mygather;

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

public class MyCollection {
    public static void main(String[] args) {
        //创建collection接口的实现
        Collection<String> collection = new ArrayList<>();
        collection.add("1");
        collection.add("2");
        collection.add("3");
        collection.add("4");
        collection.add("5");
        System.out.println(collection);

        //使用lambda表达式遍历集合
        // 1)foreach遍历
        System.out.println("foreach遍历:");
        collection.forEach(e -> System.out.print(e));
        System.out.println();
        // 2)使用方法引用简写
        System.out.println("方法引用简写:");
        collection.forEach(System.out::print);
        System.out.println();
        // 3)迭代器的forEachRemaining方法
        System.out.println("迭代器的forEachRemaining方法:");
        collection.iterator().forEachRemaining(System.out::print);
        System.out.println();
        // 4)迭代器遍历
        System.out.println("迭代器遍历:");
        Iterator<String> iterator = collection.iterator();
        while (iterator.hasNext()) {
            System.out.print(iterator.next() + " ");
        }
        System.out.println();


        //添加自身
        collection.addAll(collection);
        System.out.println(collection);

        //移除所有元素
        collection.clear();
        System.out.println(collection);

        //
        collection.add("1");
        collection.add("2");
        collection.add("3");
        collection.add("4");
        collection.add("5");

        //判断与比较
        // 1)判断是否包含指定元素
        System.out.println(collection.contains("1"));
        Collection<String> collection02 = new ArrayList<>();
        //collection02.add("1");
        collection02.add("2");
        collection02.add("3");
        collection02.add("4");
        //collection02.add("5");
        // 2)判断是否包含别的collection中的元素
        System.out.println(collection.containsAll(collection02));
        // 3)判断是否和别的对象相等
        System.out.println(collection.equals(collection02));
        // 4)判断是否为空集合,空返回true
        System.out.println(collection.isEmpty());

        //数字相关操作
        // 1)collection中的元素个数
        System.out.println(collection.size());
        // 2)collection的哈希码值
        System.out.println(collection.hashCode());

        //删除
        // 1)删除collection中某一元素
        collection.remove("1");
        System.out.println(collection);
        // 2)删除collection中含有的collection02相同的元素
        collection.removeAll(collection02);
        System.out.println(collection);

        //添加元素,为了形成明显输出
        collection.add("2");
        collection.add("3");
        collection.add("4");
        System.out.println(collection);
        // 3)仅仅保留collection中的collection02中的元素
        collection.retainAll(collection02);
        System.out.println(collection);
    }
}

1.2.2输出结果(截图):

  • 遍历方式:
    遍历方式

  • 移除所有元素:
    移除所有元素

  • 判断与比较:
    判断与比较

  • 数字相关操作:
    数字相关操作

  • 删除 :
    删除

1.2.3Code:

package mygather;

import java.util.ArrayList;
import java.util.List;

public class MyCollectionToArrayDemo {
    public static void main(String[] args) {
        List<String> list = new ArrayList<String>();
        list.add("1");
        list.add("2");
        list.add("3");
        list.add("4");
        list.add("5");
        list.add("6");

        //1.无参toArray()
        Object[] str = list.toArray();
        //遍历数组
        printArray(str);
        System.out.println();


        //2.有参toArray()
        //参数中的数组长度较短
        String[] str01 = new String[list.size() - 1];
        String[] str02 = list.toArray(str01);
        //遍历str01 str02
        System.out.println("参数中的数组长度较短");
        printArray(str01);
        printArray(str02);
        System.out.println();

        //参数中的数组长度刚好
        System.out.println("参数中的数组长度刚好");
        str01 = new String[list.size()];
        str02 = list.toArray(str01);
        printArray(str01);
        printArray(str02);
        System.out.println();

        //有一个初始值,长度刚好,添加的"demo"忽略了
        System.out.println("有一个初始值,长度刚好");
        str01[0] = "demo";
        str02 = list.toArray(str01);
        printArray(str01);
        printArray(str02);
        System.out.println();

        //长度较长
        System.out.println("长度较长");
        str01 = new String[list.size() + 2];
        str02 = list.toArray(str01);
        printArray(str01);
        printArray(str02);
        System.out.println();

        //长度较长,有一个初始值
        System.out.println("长度较长,有一个初始值");
        str01 = new String[list.size() + 2];
        str01[list.size() + 1] = "demo";
        str02 = list.toArray(str01);
        printArray(str01);
        printArray(str02);
        System.out.println();
    }

    static void printArray(Object[] str) {
        //遍历数组
        System.out.println("-----数组元素如下-----");
        for (int i = 0; i < str.length; i++) {
            System.out.print(str[i] + " ");
        }
        System.out.println();
    }
}

1.2.4输出结果(截图):

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值