JAVA常用类库超重点——集合

本文详述了Java中的集合框架,重点介绍了Collection接口及其子接口List、Set,包括ArrayList、Vector的区别,以及Iterator的使用。此外,还讲解了Map接口的重点,如HashMap和Hashtable的区别,以及如何处理Map中自定义对象的问题。
摘要由CSDN通过智能技术生成

对象数组有哪些问题?普通的对象数组最大的问题在于,数组中的元素个数是固定的,不能动态的扩充大小,所以最早的时候可以通过链表实现一个动态对象数组。但是这样做毕竟太复杂了,所以在Java中为了方便用户操作各个数据结构,所以引入了类集的概念,有时候就可以把类集称为Java对数据结构的实现。

类集这个概念是从JDK1.2(Java2)之后才正式引入的,最早也提供了很多的操作类,但是并没有完整的提出类集的概念。

类集中最大的几个操作接口:Collection、Map、Iterator,这三个接口为以后要使用的最重点的接口。


Collection接口(重点

Collection接口是在整个Java类集中保存单值的最大操作父接口,里面每次操作的时候都只能保存一个对象的数据。此接口定义在java.util包中

此接口定义如下:

public interface Collection<E> extends Iterable<E>

此接口使用了泛型技术,在JDK1.5滞后为了使类集操作的更加安全,所以引入了泛型

此接口的常用方法如下所示。

No. 方法名称 类型 描述
1 public boolean add(E e) 普通 向集合中插入一个元素

         2 

public boolean addAll(Collection<? extends E> c) 普通 向集合中插入一组元素
3 public void clear() 普通 清空集合中的元素
4 public boolean contains(Object o) 普通 查找一个元素是否存在
5 public boolean containsAll(Collection<?> c) 普通 查找一组元素是否存在
6 public boolean isEmpty() 普通 判断集合是否为空
7 public Iterator<E> iterator() 普通 为Iterator接口实例化
8 public boolean remove(Object o) 普通 从集合中删除一个对象
9 public boolean removeAll(Collection<?> c) 普通 从集合中删除一组对象
10 public boolean retainAll(Collection<?> c) 普通 判断是否没有指定的集合
11 public int size() 普通 返回集合中元素的个数
12 public Obejct[] toArray() 普通 以对象数组的形式返回集合中的全部内容
13 public <T> T[] toArray(T[] a) 普通 指定操作的泛型类型,并把内容返回
14 public boolean equals(Object o) 普通 从Object类中重写而来
15 public int hasCode() 普通 从Object类中重写而来

本接口中一共定义了15个方法,那么此接口的全部子类或子接口就将全部继承以上接口中的方法。

但是,我们在实际开发中不会直接使用Collection接口。而使用其操作的子接口:ListSet

之所以有这样的明文规定,也是在JDK1.2之后才有的,一开始在EJB中的最早模型中全部都是使用Collection操作的,所以很早之前开发代码都是以Collection为准,但是后来为了更加清楚的区分,集合中是否允许有重复元素,所以SUN公司在其开源项目——PetShop(宠物商店)中就开始推广List和Set的使用。


List接口(重点

在整个集合中,List是Collection的子接口,里面所有的内容都是允许重复的

List子接口的定义:

public interface List<E> extends Collection<E>

此接口上依然使用了泛型技术,此接口对于Collection接口来讲有如下的扩充方法:

No. 方法名称 类型 描述
1 public void add(int index,E element) 普通 在指定位置处添加元素
2 public boolean addAll(int index,Collection<? extends E> c) 普通 在指定位置处增加一组元素
3 public E get(int index) 普通 根据索引位置取出元素
4 public int indexOf(Obejct o) 普通 根据对象查找指定的位置,找不到返回-1
5 public int lastIndexOf(Object o) 普通 从后面向前查找位置,找不到返回-1
6 public ListIterator<E> listIterator() 普通 返回ListIterator接口的实例
7 public ListIterator<E> listIterator(int index) 普通 返回从指定位置的 ListIterator 接口的实例
8 public E remove(int index) 普通 删除指定位置的内容
9
评论 20
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值