• java集合-方法


      从上面的集合框架图可以看到,Java 集合框架主要包括两种类型的容器,一种是集合(Collection),存储一个元素集合,另一种是图(Map),存储键/值对映射。Collection 接口又有 3 种子类型,List、Set 和 Queue,再下面是一些抽象类,最后是具体实现类,常用的有 ArrayList、LinkedList、HashSet、LinkedHashSet、HashMap、LinkedHashMap 等等。 

    一、Collection接口

      Collection 接口是List、Set 和Queue接口的父接口,该接口里定义的方法既可用于操作,Set集合,也可用于操作List和Queue集合。Collection接口里定义了如下操作集合元素的方法。
    boolean add(Object o):  该方法用于向集合里添加一-个元素。如果集合对象被添加操作改变了,则返回true。
    boolean addAll(Collection c):  该方法把集合c里的所有元素添加到指定集合里。如果集合对象被添加操作改变了,则返回true。
    void clear():  清除集合里的所有元素,将集合长度变为0。
    boolean contains(Object 0):  返回集合里是否包含指定元素。
    boolean containsAll(Collection c):  返回集合里是否包含集合c里的所有元素。
    boolean isEmpty():  返回集合是否为空。当集合长度为0时返回true,否则返回false。
    Iterator iterator():  返回-个Iterator 对象,用于遍历集合里的元素。
    boolean remove(Object o):  删除集合中的指定元素o,当集合中包含了一一个或多个元素o时,该方法只删除第一一个符合条件的元素,该方法将返回true.
                 
    boolean removeAll(Collction c):从集合中删除集合c里包含的所有元素(相当于用调用该方法的集合减集合c),如果删除了一个或一一个以上的元素,则该方法返回true。
                  
    boolean retainAll(Collction c):  从集合中删除集合c里不包含的元素(相当于把调用该方法的集合变成该集合和集合c的交集),如果该操作改变了调用该方法的集合,则该方法返回true.
                  
    int size();  该方法返回集合里元素的个数。
    Object[] toArray():  该方法把集合转换成-个数组,所有的集合元素变成对应的数组元素。

    二、Map接口

    1

    void clear( )

     从此映射中移除所有映射关系(可选操作)。

    2

    boolean containsKey(Object k)

    如果此映射包含指定键的映射关系,则返回 true。

    3

    boolean containsValue(Object v)

    如果此映射将一个或多个键映射到指定值,则返回 true。

    4

    Set entrySet( )

    返回此映射中包含的映射关系的 Set 视图。

    5

    boolean equals(Object obj)

    比较指定的对象与此映射是否相等。

    6

    Object get(Object k)

    返回指定键所映射的值;如果此映射不包含该键的映射关系,则返回 null。

    7

    int hashCode( )

    返回此映射的哈希码值。

    8

    boolean isEmpty( )

    如果此映射未包含键-值映射关系,则返回 true。

    9

    Set keySet( )

    返回此映射中包含的键的 Set 视图。

    10

    Object put(Object k, Object v)

    将指定的值与此映射中的指定键关联(可选操作)。

    11

    void putAll(Map m)

    从指定映射中将所有映射关系复制到此映射中(可选操作)。

    12

    Object remove(Object k)

    如果存在一个键的映射关系,则将其从此映射中移除(可选操作)。

    13

    int size( )

    返回此映射中的键-值映射关系数。

    14

    Collection values( )

    返回此映射中包含的值的 Collection 视图。

    三、java Stack类

    栈是Vector的一个子类,它实现了一个标准的后进先出的栈。

    堆栈只定义了默认构造函数,用来创建一个空栈。 堆栈除了包括由Vector定义的所有方法,也定义了自己的一些方法。

    1

    boolean empty()

     测试堆栈是否为空。

    2

    Object peek( )

    查看堆栈顶部的对象,但不从堆栈中移除它。

    3

    Object pop( )

    移除堆栈顶部的对象,并作为此函数的值返回该对象。

    4

    Object push(Object element)

    把项压入堆栈顶部。

    5

    int search(Object element)

    返回对象在堆栈中的位置,以 1 为基数。

    四、Queue

    1

    void add(Object e)

    将指定元素加入此队列的尾部。

    2

    boolean offer(Object e)

    将指定元素加入此队列的尾部。

    3

    Object poll()

    获取队列头部元素,并删除该元素。

    4

    Object remove()

    获取队列头部元素,并删除该元素。

    5

    Object peek()

    获取队列头部元素,但是不是删除该元素。

    区别:

    1.offer,add区别:
    一些队列有大小限制,因此如果想在一个满的队列中加入一个新项,多出的项就会被拒绝。
    这时新的 offer 方法就可以起作用了。它不是对调用 add() 方法抛出一个 unchecked 异常,而只是得到由 offer() 返回的 false。 
    2.poll,remove区别:
    remove() 和 poll() 方法都是从队列中删除第一个元素。remove() 的行为与 Collection 接口的版本相似,但是新的 poll() 方法在用空集合调用时不是抛出异常,只是返回 null。因此新的方法更适合容易出现异常条件的情况。
    3.peek,element区别:
    element() 和 peek() 用于在队列的头部查询元素。与 remove() 方法类似,在队列为空时, element() 抛出一个异常,而 peek() 返回 null。

    五、 Java 8改进的List接口

    List作为Collection接口的子接口,当然可以使用Collection 接口里的全部方法。而且由于List 是有序集合,因此List集合里增加了一些根据索引来操作集合元素的方法。

    1.➢void add(int index, Object element)  :将元素element插入到List集合的index处。

    2.➢boolean addAll(int index, Collection c)  : 将集合c所包含的所有元素都插入到List集合的index处。
    3.➢Object get(int index)  :返回集合index 索引处的元素。
    4.➢int indexOf(Object o)  :返回对象o在List集合中第一次出现的位置索引。
    5.➢int lastIndexOf(Object o)  :返回对象o在List集合中最后-次出现的位置索引。
    6.➢Object remove(int index)  :删除并返回index索弓|处的元素。
    7.➢Object set(int index, Object element)  :将index索引处的元素替换成element对象,返回被替换的旧元素。
    8.➢List subList(int fromIndex, int toIndex)  :返回从索引fromIndex (包含)到索引toIndex (不包含)处所有集合元素组成的子集合。所有的List实现类都可以调用这些方法来操作集合元素。与Set集合相比,List 增加了根据索引来插入、替换和删除集合元素的方法。除此之外,Java 8还为List接口添加了如下两个默认方法。
    9.➢void replaceAl(UnaryOperator operator)  :根据operator指定的计算规则重新设置List集合的所有元素。
    10.➢void sort(Comparator c)  ;根据Comparator参数对List集合的元素排序。

  • 相关阅读:
    关于 Delphi 中流的使用(3) 通过内存流读取文件
    Java线程池进阶
    平台化建设思路浅谈
    从MVC到DDD的架构演进
    数据库分区、分表、分库、分片
    树上行走(牛客)
    矩阵矩阵矩(牛客)
    2017第八届蓝桥杯大赛个人赛省赛(软件类)真题 C大学A组
    至多删除三个字符(天梯赛)
    DoubleSum(牛客)
  • 原文地址:https://www.cnblogs.com/jingpeng77/p/12493612.html
Copyright © 2020-2023  润新知