集合

目录

Collection接口

List接口

ArrayList类

Vector类

Queue类

LinkedList类

Set接口

TreeSet接口

Comparable接口


Collection接口

是Java最基本的集合接口,是集合类的父接口,所有继承和实现Collectiond的接口和类都必须实现Collection提供的核心方法,常用方法如下:

add(Object o):把对象存入集合中。添加成功返回true,否则返回false。Object是所有对象的父类,所以,任何对象都能通过add方法存入集合中。但是int等基本数据类型在使用add方法时需要调用简单集合的包装类。

addAll(Collection c):把一个集合添加到另一个集合中,添加成功返回true,失败返回false。

remove(Object o):把对象从集合中删除。删除成功返回true,失败返回false。

retainAll(Collection c):把处理参数之外的所有元素都从集合中删除。删除成功返回true,失败返回false。

contains(Object o):用来判断集合中是否包含着特定的集合。包含返回true,不包含返回false。

containsAll(Colledtion c):用来判断集合中是否包含特定的集合。包含返回true,不包含返回false。

isEmpty():判断一个集合是否为空,若为空,返回true,否则返回false。

toArray():返回一个调用了该方法的集合中的所有元素的数组。

clear():用于清空集合,该方法不带返回值。

size():用来得到集合中元素的个数。

equals():用于比较两个集合是否相等,返回值是一个boolean变量,相等返回true,否则返回false。

iterator():返回一个指向集合的迭代器,用于访问该集合中的元素。

List接口

该接口实现并扩展了Collection接口,是有序的Collection集合,使用此接口,能够精确的控制每个元素插入的位置。用户能够使用索引来访问List中的元素,索引的初始值为0.

List接口除了实现Collection接口的核心方法外,还是实现了自己的一些方法,如下所示:

add(int index, Object o ):该方法把对象o插入index索引位置,插入点位置后的所有元素顺序后移,该方法没有返回值。

addAll(int index, Collection c):该方法将集合插入在特定的为位置,插入点位置后的所有元素顺序后移,因此该集合中的元素没有被改写。该方法返回boolean值。

get(int index):返回一个对象。该对象是集合中index索引位置的对象。

set(int index, Object o):将对象o插入到index索引位置,集合中原index位置的对象被o替换。

remove(index):删除集合列表中index索引位置上的对象。

indexOf(Object o):返回集合列表中o出现的第一个索引位置,若没有,则返回-1.

LastIndexOf(Object o):返回集合列表中o出现的最后一个索引位置,若没有,则返回-1.

subList(int start, int end):返回集合列表中从start索引位置开始,到end索引位置结束的一个列表。

  • List中允许存放相同的元素。

ArrayList类

是List接口的一个实现类,它扩展了AbstractList接口,并且实现了List接口,是一个泛指类,实现了List接口中的所有的方法,可以存放相同的对象,包括null值。

Vector类

和ArrayList相似,同样实现了List接口,可以实现可增长的对象数组,包含可以使用整数索引进行访问的组件。

vector是可以同步化的,即,任何操作vector内容的方法都是线程安全的,相反,ArrayList是不可同步化的,所以也不是线程安全的。

Queue接口

该接口扩展了Collection接口,并声明是一个队列行为,通常是一个先进先出列表,但是,很多类型的队列顺序是基于其他标准的,该接口是一个广泛接口,

LinkedList类

该类扩展了AbstractSequentialList类,并实现了List接口和Queue接口,它提供了链表型的数据结构,是一个泛型类。还声明了一些操作和访问链表的方法。

addFirst(Object o):把元素增加到链表头。

addLast(Object o):把元素增加到链表尾部。

getFirst():返回链表的第一个元素。

getLast():返回链表的最后一个元素。

removeFirst():删除链表的头元素。

removeLast():删除链表的结尾元素。

Set接口

该接口实现了Collection接口,是与Collection完全一样的接口,并未声明自己的方法。

Set接口是一种不包含重复元素的Collection,在使用Set接口时,如果需要存入可变的对象,必须时刻关注对象的变化,防止造成两个元素出现相同的情况。

TreeSet接口

继承了AbstractSet类,实现了SortedSet接口,提供了一个使用树形结构的存储Set接口的实现。该类保证存入Set中的元素按照升序排序。在排序时,根据提供的构造方法不同,实现不同的排序方法。根据排序方法的不同,该类提供了四种构造方法。

TreeSet()方法:构建一个新的空Set,该Set按照元素的自然顺序排序。

TreeSet(Collection<extends E> c)方法:构造一个新的Set,包含指定Collection中的元素,这个新的Set按照元素的自然顺序排序。

TreeSet(Comparator<super E> c)方法:构造一个新的空Set,该Set根据指定的比较器进行排序。

TreeSet(SortedSet<E> s)方法:构造一个新的Set,该Set所包含的元素与指定的以排序的Set包含的元素相同,并按照相同的顺序对元素进行排序。

Comparable接口

 

该接口强行对实现它的每个类的对象进行整体排序,次排序被称为该类的自然排序,实现该接口的类compareTo()方法称为自然比较方法,用户可以改写该方法,用于用户自定义自己的排序方式。

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值