java基础-Java集合框架-Collection类中的方法的使用

14 篇文章 0 订阅

Java集合框架-Collection接口的使用

Collection接口定义的方法:

public interface Collection<E> extends Iterable<E> {

    int size();

    boolean isEmpty();

    boolean contains(Object o);

    Iterator<E> iterator();


    Object[] toArray();


    <T> T[] toArray(T[] a);


    boolean add(E e);


    boolean remove(Object o);


    boolean containsAll(Collection<?> c);


    boolean addAll(Collection<? extends E> c);


    boolean removeAll(Collection<?> c);


    default boolean removeIf(Predicate<? super E> filter) {
        Objects.requireNonNull(filter);
        boolean removed = false;
        final Iterator<E> each = iterator();
        while (each.hasNext()) {
            if (filter.test(each.next())) {
                each.remove();
                removed = true;
            }
        }
        return removed;
    }

    boolean retainAll(Collection<?> c);


    void clear();


    boolean equals(Object o);


    int hashCode();
    
    @Override
    default Spliterator<E> spliterator() {
        return Spliterators.spliterator(this, 0);
    }


    default Stream<E> stream() {
        return StreamSupport.stream(spliterator(), false);
    }

    default Stream<E> parallelStream() {
        return StreamSupport.stream(spliterator(), true);
    }
}
方法名说明
add(E e)确保此集合包含指定的元素(可选操作)
addAll(Collection<? extends E> c)将指定集合中的所有元素添加到这个集合中
clear()移除集合中的所有元素
contains(Object o)判断集合是否包含Object o元素,true-包含 ;false-不包含
containsAll(Collection<?> c)判断集合是否包含Collection<?> c集合,true-包含;false-不包含
equals(Object o)将指定对象与集合比较,比较二者是否相等
hashCode()返回集合的哈希值
isEmpty()判断集合是否为空,true-空;false-非空
Iterator iterator()返回集合的元素迭代器
remove(Object o)如果元素在集合中存在,从集合中移除指定元素的实例。
removeAll(Collection<?> c)把指定集合Collection<?> c中的所有元素从集合中删除
retainAll(Collection<?> c)在集合中留下指定集合Collection<?> c中的所有元素(取交集)
size()返回此集合中的元素的数目。
toArray()返回包含此集合中所有元素的数组。
toArray(T[] a)返回包含此集合中所有元素的数组;返回数组的运行时类型是指定的数组的运行时类型。
package com.jl.java.base.collection;

import org.junit.Test;

import java.util.ArrayList;
import java.util.Collection;
import java.util.Date;

/**
 * 一、集合框架的概述
 * 1.集合、数组都是对多个数据进行存储操作的结构,简称Java容器。
 *  说明:此时的存储,主要指的是内存层面的存储,不涉及到持久化的存储(.txt,.jpg,.avi,数据库中)
 * 2.数组在存储多个数据方面的特点:
 *  一旦初始化以后,数组长度确定了。
 *  定义数组的时候是要确定数组的元素的类型,一旦定义好数组,其元素的类型就确定好了,只能操作指定类型的数据
 *
 * 3.数据在存储多个数据的确定
 *  数组一旦初始化之后,其长度就不能修改。
 *  数组提供的方法有限,不便于添加、删除、插入等操作。且无法直接获取已经存储的有效个数
 *  获取数组中实际元素的个数的需求,数组没有现成的属性或方法可用
 *  数组的存储结构时有序的,且可以重复的。对于无序的、不可重复的需求,不能满足。
 * 4.Java集合类可以存储数量不等的多个对象,还可以保存具有映射关系的关联数组。
 *
 * 二、集合框架
 *  Collection接口:单列集合,用来存储一个个的对象
 *      List接口:存储有序的,可重复的数据。 -->动态数组
 *      ----ArrayList,LinkedList,Vector
 *      Set接口:存储无序的,不可重复的数据。 -->
 *      ----HashSet,LinkedHashSet,TreeSet
 *  Map接口:双列集合,用来存储一对(key-value)一对的数据
 *      -----HashMap,Hashtable,LinkedHashMap,TreeMap,Properties
 * @author jiangl
 * @version 1.0
 * @date 2021/4/21 21:36
 */
public class CollectionTest {

    @Test
    public void test1(){
        Collection coll = new ArrayList();
        Collection colldel = new ArrayList();

        //add(E e);将元素添加到集合中
        coll.add("AA");
        coll.add("BB");
        coll.add(123);//自动装箱
        coll.add(new Date());
        //add(E e);将元素添加到集合中
        colldel.add("AA");
        colldel.add(new Date());

        //size():获取添加的元素的个数
        System.out.println(coll.size());

        //addAll(Collection coll1):将coll1集合中的元素添加到当前的集合中
        Collection coll1 = new ArrayList();
        coll1.add(456);
        coll1.add("CC");
        coll.addAll(coll1);

        System.out.println(coll.size());//6
        System.out.println(coll);

        //isEmpty():判断当前集合是否为空
        System.out.println(coll.isEmpty());//false

        //removeAll
        coll.removeAll(colldel);
        System.out.println(coll.size());//6
        System.out.println(coll);


        //clear():清空集合元素
        coll.clear();
        System.out.println(coll.isEmpty());//true
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值