zoukankan      html  css  js  c++  java
  • Java中集合随笔

    先上一张图:关于collection接口的

    一、Collection中的常用功能:

    boolean add(Object e): 向集合中添加元素
    void clear():清空集合中所有元素
    boolean contains(Object o):判断集合中是否包含某个元素
    boolean isEmpty():判断集合中的元素是否为空
    boolean remove(Object o):根据元素的内容来删除某个元素
    int size():获取集合的长度
    Object[] toArray():能够将集合转换成数组并把集合中的元素存储到数组中

    由于Collection是接口,不能实例化

    所以Collection c = new Collection();这种写法是错误的

    二、List子体系特点:

    A:有序的(存储和读取的顺序是一致的)
    B:有整数索引
    C:允许重复的

    1.List的特有功能:

    void add(int index, E element) :将元素添加到index索引位置上
    E get(int index) :根据index索引获取元素
    E remove(int index) :根据index索引删除元素
    E set(int index, E element):将index索引位置的的元素设置为element

    (1)LinkedList特有功能:

    LinkedList底层使用的是链表结构,因此增删快,查询相对ArrayList较慢
    void addFirst(E e) :向链表的头部添加元素
    void addLast(E e):向链表的尾部添加元素
    E getFirst():获取链头的元素,不删除元素
    E getLast():获取链尾的元素,不删除元素
    E removeFirst():返回链头的元素并删除链头的元素
    E removeLast():返回链尾的元素并删除链尾的元素

    三、Set接口的特点:

    Set体系的集合:
    A:存入集合的顺序和取出集合的顺序不一致
    B:没有索引
    C:存入集合的元素没有重复

    1.HashSet唯一性原理:

    规则:新添加到HashSet集合的元素都会与集合中已有的元素一一比较
    首先比较哈希值(每个元素都会调用hashCode()产生一个哈希值)
    如果新添加的元素与集合中已有的元素的哈希值都不同,新添加的元素存入集合
    如果新添加的元素与集合中已有的某个元素哈希值相同,此时还需要调用equals(Object obj)比较
    如果equals(Object obj)方法返回true,说明新添加的元素与集合中已有的某个元素的属性值相同,那么新添加的元素不存入集合
    如果equals(Object obj)方法返回false, 说明新添加的元素与集合中已有的元素的属性值都不同, 那么新添加的元素存入集合

    四.Map集合

    1.Map接口概述

    A:Collection中的集合,元素是孤立存在的(理解为单身),向集合中存储元素采用一个个元素的方式存储
    B:Map中的集合,元素是成对存在的(理解为夫妻)。每个元素由键与值两部分组成,通过键可以找对所对应的值。
    C:Collection中的集合称为单列集合,Map中的集合称为双列集合。
    需要注意的是,Map中的集合不能包含重复的键,值可以重复;每个键只能对应一个值。

    2.Map常用功能

    A:映射功能:

    V put(K key, V value) :以键=值的方式存入Map集合

    B:获取功能:

    V get(Object key):根据键获取值
    int size():返回Map中键值对的个数

    C:判断功能:

    boolean containsKey(Object key):判断Map集合中是否包含键为key的键值对
    boolean containsValue(Object value):判断Map集合中是否包含值为value键值对
    boolean isEmpty():判断Map集合中是否没有任何键值对

    D:删除功能:

    void clear():清空Map集合中所有的键值对
    V remove(Object key):根据键值删除Map中键值对

    E:遍历功能:

    Set<Map.Entry<K,V>> entrySet():将每个键值对封装到一个个Entry对象中,再把所有Entry的对象封装到Set集合中返回
    Set<K> keySet() :将Map中所有的键装到Set集合中返回
    Collection<V> values():返回集合中所有的value的值的集合

    3.Map的两种遍历方式

  • 相关阅读:
    上传项目到githug
    架构漫谈阅读笔记01
    连接清华镜像
    Java-Spark
    推荐系统
    数据湖技术
    如何做好架构划分
    构建之法阅读笔记 02
    构建之法阅读笔记01
    Tensorflow安装
  • 原文地址:https://www.cnblogs.com/xyy-520/p/8989914.html
Copyright © 2011-2022 走看看