java集合之集合简介

在java JDK1.2中提出了类集框架的概念并在JDK1.5中对此框架进行了修改,加入了泛型。在整个集合中,其核心的接口是Collection、Set、List、Map等,具体请看下面的java集合框架图:
java集合框架图
在上述类图中,HashSet、HashMap、ArrayList、LinkedList等实线边框的是实现类,AbstractCollection、AbstractList、AbstractSequentialList、AbstractMap等折线边框的是抽象类,而Collection、Iterator、List、Set、queue、Map等点线边框是接口。

Collection

Collection是集合框架层次中的根接口,JDK中并没有该接口的实现类;故此,Collection接口在本身的开发中并不会直接的使用,而是在开发的过程中使用两个子接口:Set、List。

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);
    //从该集合中移除不包含在指定集合中的所有元素
    boolean retainAll(Collection<?> c);
    //清除数据
    void clear();
    //将指定对象与此集合比较相等
    boolean equals(Object o);
    //返回此集合的哈希代码值
    int hashCode();
}

List

List接口是Collection接口的子接口,是有序的 collection。此接口的用户可以对列表中每个元素的插入位置进行精确地控制。用户可以根据元素的整数索引访问元素,并搜索列表中的元素。
List接口中定义了几个常用的方法(与Collection不同的):

public interface List<E> extends Collection<E> {
    //获取元素
    E get(int index);
   // 根据索引将元素数值替换
    E set(int index, E element);
    //根据索引将元素数值加入,原来的值后移
    void add(int index, E element);
    //按照索引删除
    E remove(int index);
    //查看指定对象元素的索引
    int indexOf(Object o);
    //查看指定元素的最后一个匹配项的索引
    int lastIndexOf(Object o);
    //返回此列表元素的列表迭代器(按适当顺序)。 
    ListIterator<E> listIterator();
    //返回列表中元素的列表迭代器(按适当顺序),从列表的指定位置开始。  
    ListIterator<E> listIterator(int index);
    //返回列表中指定的 fromIndex(包括 )和 toIndex(不包括)之间的部分视图。
    List<E> subList(int fromIndex, int toIndex);
}

Set

Set是一种不包括重复元素的Collection,与List一样,它同样运行null的存在但是仅有一个。由于Set接口的特殊性,所有传入Set集合中的元素都必须不同。实现了Set接口的集合有:EnumSet、HashSet、TreeSet。

Map

Map没有继承Collection接口,Map提供key到value的映射。一个Map中不能包含相同的key,每个key只能映射一个value。Map接口提供3种集合的视图,Map的内容可以被当作一组key集合,一组value集合,或者一组key-value映射。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值