有关集合的笔记

一、集合概论

集合(Collection)是Java中非常重要的一个概念,是一组对象的容器。它们被设计为基于两个基本原则:一是对对象的集合进行统一的操作和管理,二是支持不同类型的集合结构,以适应不同的应用场景和需求。

Java中的集合框架位于java.util包中,共包含以下接口:

  1. Collection:表示一组对象的基本接口,它是所有集合的根接口。

  2. List:有序集合,其中每个元素都有一个索引,可以通过索引访问元素。

  3. Set:无序集合,不能包含重复元素。

  4. Queue:一种特殊的线性表,支持两种操作:插入和删除,通常用于实现队列和优先级队列。

  5. Map:一种映射表,其中每个元素都是一个键值对,提供了便于使用键来查找值的方法。

  6. SortedSet:有序Set集合。

  7. SortedMap:有序Map集合。

集合框架中的每个接口都有多个实现类,常用的有:

  1. ArrayList:线性表,基于数组实现,随机访问效率高。

  2. LinkedList:线性表,基于链表实现,插入、删除效率高。

  3. HashSet:基于哈希表实现,不能包含重复元素。

  4. TreeSet:基于红黑树实现,元素是有序的。

  5. HashMap:基于哈希表实现,以键值对的方式存储数据。

  6. TreeMap:基于红黑树实现,以键值对的方式存储数据,元素是有序的。

二、集合接口继承关系

如下图所示,集合接口继承关系如下所示:

三、集合操作

  1. Collection接口中的基本操作

Collection接口中定义了一些基本的操作,包括添加、删除、判断是否包含以及获取集合元素的个数等。下面是一些常用的方法:

  1. add:添加元素到集合中。

  2. remove:从集合中删除元素。

  3. size:返回集合中元素的数量。

  4. contains:判断集合中是否包含某个元素。

  5. isEmpty:判断集合是否为空。

  6. clear:清空集合中所有的元素。

  7. List接口中的基本操作

List接口是有序集合,它的每个元素都有一个索引,可以通过索引访问元素。它除了包含Collection接口的基本操作之外,还定义了一些特定的操作。下面是一些常用的方法:

  1. get:根据索引获取对应的元素。

  2. set:替换指定索引处的元素。

  3. add:在指定索引处插入元素。

  4. remove:删除指定索引处的元素。

  5. indexOf:返回元素在集合中第一次出现的索引。

  6. Set接口中的基本操作

Set接口是无序集合,不能包含重复元素。它除了包含Collection接口的基本操作之外,还定义了一些特定的操作。下面是一些常用的方法:

  1. add:添加元素到集合中。

  2. remove:从集合中删除元素。

  3. size:返回集合中元素的数量。

  4. contains:判断集合中是否包含某个元素。

  5. isEmpty:判断集合是否为空。

  6. clear:清空集合中所有的元素。

  7. Map接口中的基本操作

Map接口是一种映射表,其中每个元素都是一个键值对,提供了便于使用键来查找值的方法。下面是一些常用的方法:

  1. put:向map中添加键值对。

  2. get:根据键获取对应的值。

  3. remove:从map中删除指定的键值对。

  4. size:返回map中键值对的数量。

  5. containsKey:判断map中是否包含指定的键。

  6. containsValue:判断map中是否包含指定的值。

  7. isEmpty:判断map是否为空。

  8. clear:清空map中所有的键值对。

  9. 迭代器

迭代器(Iterator)是集合框架中的一个重要概念,它提供了一种遍历集合元素的机制。所有实现Collection接口的类都可以获取它的迭代器。迭代器实现了一种数据访问模型,可以访问集合中的元素,而不需要知道集合的内部结构。迭代器提供了三个方法:

  1. hasNext:判断是否还有下一个元素。

  2. next:获取下一个元素。

  3. remove:删除集合中迭代器返回的上一个元素。

四、集合实现类的选择

Java中的集合框架提供了多种集合实现类,不同的实现类有着不同的特点和适用范围。选择合适的集合实现类可以提高代码的效率和可读性。

  1. List的选择

如果需要随机访问集合中的元素,可以选择ArrayList;如果需要频繁地插入和删除元素,可以选择LinkedList。

  1. Set的选择

如果不关心元素的顺序,且要求不能包含重复元素,可以选择HashSet;如果需要按照元素的自然排序来存储元素,可以选择TreeSet。

  1. Map的选择

如果需要根据键来查找值,可以选择HashMap;如果需要按照键的自然排序来存储键值对,可以选择TreeMap。

五、总结

Java中的集合框架是像List、Set、Queue、Map等多个接口和对应的实现类,它们提供了各种集合结构和操作方式,适用于各种不同的应用场景和需求。Java中的集合框架提供了一套完善的机制来处理集合数据,让程序员能够更加高效地处理集合数据,提高代码的效率和可读性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值