java集合框架下的主要接口

java集合框架下的主要接口

在java集合框架下主要有两类接口,分别是Collection接口和Map接口。其中,Collection接口主要包括List接口,Set接口和Queue接口。

接口特点:
在这里插入图片描述

下面是各个接口的源码:
Collection接口源码:

package java.util;
public interface Collection<E> extends Iterable<E> {
    int size();//返回此collection中的元素数。
    boolean isEmpty();//判断此collection是否包含元素。
    boolean contains(Object o);//判断此collection是否包含指定的元素。
    Iterator<E> iterator();//返回在此collection的元素上进行迭代的迭代器。
    Object[] toArray();//返回包含此collection中所有元素的数组。
    <T> T[] toArray(T[] a);//返回包含此collection中所有元素的数组,返回数组的运行时类型与指定数组的运行时类型相同。
    boolean add(E e);//确保此collection包含指定的元(可选操作)。
	//如果此collection由于此方法的调用而发生改变,则返回 true,如果此collection不允许有重复元素,并且已经包含了指定的元素,则返回 false。
    boolean remove(Object o);//从此collection中移除指定元素的单个实例,如果存在的话(可选操作)。
    boolean containsAll(Collection<?> c);//判断此collection是否包含指定collection中的所有元素。
    boolean addAll(Collection<? extends E> c);//将指定collection中的所有元素都添加到此collection中(可选操作)。
    boolean removeAll(Collection<?> c);//移除此collection中那些也包含在指定collection中的所有元素(可选操作)。
    boolean retainAll(Collection<?> c);//仅保留此collection中那些也包含在指定collection中的元素(可选操作)。
    void clear();//移除此collection中的所有元素(可选操作)。
    boolean equals(Object o);//比较此collection与指定对象是否相等。
    int hashCode();//返回此collection的哈希代码值。
}

Collection接口继承了Iterable接口。
Iterable接口源码如下:

package java.lang;
import java.util.Iterator;
public interface Iterable<T> {
    Iterator<T> iterator();//返回一个在一组 T 类型的元素上进行迭代的迭代器。
}

Iterable接口位于java.lang包,实现时导入了java.util.Iterator包,只有一个方法,该方法返回的是一个迭代器。
实现Iterable接口即允许对象成为 “foreach” 语句的目标。
所以Collection接口及其子类型均可用迭代器遍历。

List接口源码:

package java.util;
public interface List<E> extends Collection<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 addAll(int index, Collection<? extends E> c);//将指定collection中的所有元素都插入到列表中的指定位置(可选操作)。
    boolean removeAll(Collection<?> c);
    boolean retainAll(Collection<?> c);
    void clear();
    boolean equals(Object o);
    int hashCode();
    //前面都是继承Collection的方法,增加了按指定位置添加集合。
	E get(int index);//返回列表中指定位置的元素。
    E set(int index, E element);//用指定元素替换列表中指定位置的元素(可选操作)。 
    void add(int index, E element);//在列表的指定位置插入指定元素(可选操作)。
    E remove(int index);//移除列表中指定位置的元素(可选操作)。
    int indexOf(Object o);//返回列表中首次出现指定元素的索引,如果列表不包含此元素,则返回 -1。
    int lastIndexOf(Object o);//返回列表中最后出现指定元素的索引,或者如果列表不包含此元素,则返回 -1。
    ListIterator<E> listIterator();//返回列表中元素的列表迭代器(以正确的顺序)。 
    ListIterator<E> listIterator(int index);//返回列表中元素的列表迭代器(以正确的顺序),从列表的指定位置开始。
    List<E> subList(int fromIndex, int toIndex);//返回列表中指定的 fromIndex(包括 )和 toIndex(不包括)之间的部分视图。(如果 fromIndex 和 toIndex 相等,则返回的列表为空)。
}

Set接口源码:

package java.util;
public interface Set<E> extends Collection<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 retainAll(Collection<?> c);
    boolean removeAll(Collection<?> c);
    void clear();
    boolean equals(Object o);
    int hashCode();
	//只继承了Collection接口的方法
}

Queue接口源码:

package java.util;
public interface Queue<E> extends Collection<E> {
    boolean add(E e);
    boolean offer(E e);
    E remove();
    E poll();
    E element();
    E peek();
}

Map接口源码:

package java.util;
public interface Map<K,V> {
    int size();//此映射中的键-值映射关系数。
    boolean isEmpty();//判断此映射是否包含键-值映射关系。
    boolean containsKey(Object key);//判断此映射是否包含指定键的映射关系。
    boolean containsValue(Object value);//判断此映射是否包含指定值的映射关系。
    V get(Object key);//返回此映射中映射到指定键的值。
    V put(K key, V value);//将指定的值与此映射中的指定键相关联(可选操作)。
    V remove(Object key);//如果存在此键的映射关系,则将其从映射中移除(可选操作)。
    void putAll(Map<? extends K, ? extends V> m);//从指定映射中将所有映射关系复制到此映射中(可选操作)。
    void clear();//从此映射中移除所有映射关系(可选操作)。 
    Set<K> keySet();//返回此映射中包含的键的 set 视图。
    Collection<V> values();//返回此映射中包含的值的 collection 视图。
    Set<Map.Entry<K, V>> entrySet();//返回此映射中包含的映射关系的 set 视图。
    interface Entry<K,V> {
        K getKey();
        V getValue();
        V setValue(V value);
        boolean equals(Object o);
        int hashCode();
    }//定义Entry接口,保存键-值映射。
    boolean equals(Object o);//比较指定的对象与此映射是否相等。
    int hashCode();//返回此映射的哈希代码值。
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值