Java 集合接口

集合接口

集合框架定义的接口:

序号接口描述
1Collection 接口
Collection 是最基本的集合接口,一个 Collection 代表一组 Object,即 Collection 的元素, Java不提供直接继承自Collection的类,只提供继承于的子接口(如List和set)。
Collection 接口存储一组不唯一,无序的对象。
2List 接口
List接口是一个有序的 Collection,使用此接口能够精确的控制每个元素插入的位置,能够通过索引(元素在List中位置,类似于数组的下标)来访问List中的元素,第一个元素的索引为 0,而且允许有相同的元素。
List 接口存储一组不唯一,有序(插入顺序)的对象。
3Set 接口
Set 具有与 Collection 完全一样的接口,只是行为上不同,Set 不保存重复的元素。
Set 接口存储一组唯一,无序的对象。
4SortedSet 接口
继承于Set保存有序的集合。
5Map 接口
Map 接口存储一组键值对象,提供key(键)到value(值)的映射。
6Map.Entry 接口
描述在一个Map中的一个元素(键/值对)。是一个 Map 的内部接口。
7SortedMap 接口
继承于 Map,使 Key 保持在升序排列。
8Enumeration 接口
这是一个传统的接口和定义的方法,通过它可以枚举(一次获得一个)对象集合中的元素。这个传统接口已被迭代器取代。

Collection 接口

​ 集合接口是集合框架构建的基础。它声明了所有集合都会具有的核心方法。

序号方法和描述
1boolean add(Object obj)
将obj添加到调用的集合中。如果obj被添加到集合中,则返回true。如果obj已经是集合的成员,或者集合不允许重复,则返回false。
2boolean addAll(Collection c)
将c的所有元素添加到调用的集合中。如果操作成功(即元素被添加),则返回true。否则,返回false。
3void clear( )
从调用的集合中删除所有元素。
4boolean contains(Object obj)
如果obj是调用的集合的元素,则返回true。否则,返回false。
5boolean containsAll(Collection c)
如果调用的集合包含所有 c 的元素,则返回true。否则,返回false。
6boolean equals(Object obj)
如果调用的集合和obj相等,则返回true。否则,返回false。
7int hashCode( )
返回调用集合的哈希码。
8boolean isEmpty( )
如果调用的集合为空,则返回true。否则,返回false。
9Iterator iterator( )
返回调用集合的迭代器。
10boolean remove(Object obj)
从调用的集合中删除一个obj的实例。如果元素被删除,返回true。否则,返回false。
11boolean removeAll(Collection c)
从调用的集合中删除c的所有元素。如果集合发生了变化(即有元素被删除),返回true。否则,返回false。
12boolean retainAll(Collection c)
从调用的集合中删除除了c中的元素以外的所有元素。如果集合发生了变化(即有元素被删除),返回true。否则,返回false。
13int size( ) 返回调用集合中持有的元素数。
14Object[ ] toArray( ) 返回包含调用集合中所有元素的数组。该数组的元素是集合元素的副本。
15Object[ ] toArray(Object array[ ]) 返回一个只包含与数组类型匹配的集合元素的数组。

List 接口

列表接口扩展了 Collection 并声明了一个存储元素序列的集合的行为。

  • 可以通过在列表中的位置使用零为基的索引来插入或访问元素。
  • 列表可以包含重复的元素。
  • 除了由 Collection 定义的方法外,列表定义了一些自己的方法,这些方法在下表中总结。
  • 如果集合不能被修改,一些列表方法将抛出UnsupportedOperationException异常,并且当一个对象与另一个对象不兼容时,会生成ClassCastException。
序号方法和描述
1void add(int index, Object obj)
将obj插入到调用列表中传入的索引处。任何在插入点或超出插入点的预先存在的元素都会向上移动。因此,没有元素被覆盖。
2boolean addAll(int index, Collection c)
c的所有元素插入到调用列表中传递给索引的索引处。任何在插入点或超出插入点的预先存在的元素都会向上移动。因此,没有元素被覆盖。如果调用的列表发生变化,返回true,否则返回false。
3Object get(int index)
返回存储在调用集合中指定索引处的对象。
4int indexOf(Object obj)
返回调用列表中第一个obj实例的索引。如果obj不是列表中的元素,则返回.1。
5int lastIndexOf(Object obj)
返回调用列表中最后一个obj实例的索引。如果obj不是列表中的元素,则返回.1。
6ListIterator listIterator( )
返回指向调用列表起始处的迭代器。
7ListIterator listIterator(int index)
返回一个指向调用列表的迭代器,从指定的下标开始。
8Object remove(int index)
从调用的列表中删除索引位置的元素,并返回被删除的元素。结果列表被合并。也就是说,后续元素的索引减1。
9Object set(int index, Object obj)
将obj赋值到调用列表中由index指定的位置。
10List subList(int start, int end)
返回一个从头到尾包含元素的列表。1在调用列表中。返回列表中的元素也会被调用的对象引用。

Set 接口

​ Set是一种不能包含重复元素的集合。它模拟了数学集合的抽象概念。Set接口只包含继承自Collection的方法,并且增加了禁止有重复元素的限制。

​ Set还对equals和hashCode操作的行为增加了更强的约束,使得即使它们的类型实现不同,Set实例也可以有意义地进行比较。

序号方法和描述
1add( ) 向集合中添加一个对象。
2clear( ) 从集合中移除所有对象。
3contains( ) 如果指定对象是集合中的元素,返回true。
4isEmpty( ) 如果集合没有元素,返回true。
5iterator( ) 返回集合的迭代器对象,该对象可用于检索元素。
6remove( ) 从集合中移除指定对象。
7size( ) 返回集合中的元素数量。

SortedSet 接口

​ SortedSet接口扩展了Set接口,并声明了按升序排序的集合的行为。SortedSet接口除了Set接口定义的方法之外,还声明了下表中总结的方法。

​ 在调用集合中不包含任何项时,几个方法会抛出NoSuchElementException。当一个对象与集合中的元素不兼容时,会抛出ClassCastException异常。

​ 如果尝试使用一个空对象,并且集合中不允许使用null,那么将抛出NullPointerException异常。

序号方法和描述
1Comparator comparator() 返回调用的有序集的比较器。如果对该集使用自然排序,则返回null。
2Object first() 返回调用的有序集中的第一个元素。
3SortedSet headSet(Object end) 返回一个包含调用的有序集中小于end的元素的SortedSet。返回的有序集中的元素也被调用的有序集引用。
4Object last() 返回调用的有序集中的最后一个元素。
5SortedSet subSet(Object start, Object end) 返回一个包含在start和end之间的元素的SortedSet。返回集合中的元素也被调用的对象引用。
6SortedSet tailSet(Object start) 返回一个包含大于或等于start的元素的SortedSet,这些元素包含在有序集中。返回集合中的元素也被调用的对象引用。

Map 接口

Map接口将唯一的键映射到值。键是用来在以后检索值的对象。

  • 给定一个键和一个值,你可以将该值存储在一个Map对象中。在值被存储后,可以通过使用它的键来检索它。
  • 几个方法在调用 Map 中不存在项目时会引发NoSuchElementException。
  • 当对象与地图中的元素不兼容时,会引发ClassCastException。
  • 如果尝试使用null对象并且在地图中不允许null,将引发NullPointerException。
  • 当试图更改一个不可修改的映射时,将引发UnsupportedOperationException。
序号方法与描述
1void clear( )
从调用的映射中删除所有的键/值对。
2boolean containsKey(Object k)
如果调用的映射包含 k 作为键,则返回true。否则,返回false。
3boolean containsValue(Object v)
如果映射中包含 v 作为值,则返回true。否则,返回false。
4Set entrySet( )
返回一个包含映射条目的Set。该Set包含类型为Map.Entry的对象。此方法提供了对调用的映射的Set视图。
5boolean equals(Object obj)
如果obj是一个Map且包含相同的条目,则返回true。否则,返回false。
6Object get(Object k) 返回与键 k 关联的值。
7int hashCode( ) 返回调用map的哈希码。
8boolean isEmpty( ) 如果调用的map为空,则返回true。否则,返回false。
9Set keySet( ) 返回一个包含调用map中键的集合。该方法提供了调用map中键的视图。
10Object put(Object k, Object v)
向调用的映射中放入一个条目,覆盖与该键关联的任何先前值。键和值分别为k和v。如果键以前不存在,则返回null。否则,返回与该键关联的先前值。
11void putAll(Map m)m 中的所有条目放入此映射中。
12Object remove(Object k) 删除键等于 k 的条目。
13int size( ) 返回映射中键/值对的数量。
14Collection values( ) 返回包含映射中的值的集合。该方法提供了映射中值的集合视图。

Map.Entry 接口

​ The Map.Entry接口使我们能够使用Map条目进行操作。有点类似 Pair。

​ 由Map接口声明的 entrySet() 方法返回一个包含地图条目的Set。这些集合元素都是Map.Entry对象。

序号方法与描述
1boolean equals(Object obj) 如果obj是一个与调用对象的键和值相等的Map.Entry,则返回true。
2Object getKey( ) 返回此映射项的键。
3Object getValue( ) 返回此映射项的值。
4int hashCode( ) 返回此映射项的哈希码。
5Object setValue(Object v) 将此映射项的值设置为 v 。如果 v 不是映射的正确类型,则抛出ClassCastException。如果映射不允许空键,则如果 v 是null,则抛出NullPointerException。如果映射无法更改,则抛出UnsupportedOperationException。

SortedMap 接口

​ 排序映射接口扩展了映射接口。它确保条目按照升序的键顺序进行维护。

​ 当调用映射中没有条目时,几个方法会抛出 NoSuchElementException 异常。当一个对象与映射中的元素不兼容时,会抛出 ClassCastException 异常。如果在映射中出于不允许使用 null 的原因而试图使用一个 null 对象,则会抛出 NullPointerException 异常。

序号方法与说明
1Comparator comparator( )
返回调用排序映射的比较器。如果使用自然顺序进行调用映射,则返回null。
2Object firstKey( ) 返回调用映射中的第一个键。
3SortedMap headMap(Object end)
返回那些键小于end的映射条目的排序映射。
4Object lastKey( ) 返回调用映射中的最后一个键。
5SortedMap subMap(Object start, Object end)
返回包含那些键大于或等于start且小于end的条目的映射。
6SortedMap tailMap(Object start)
返回包含那些键大于或等于start的条目的映射。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值