java中的集合框架

1、集合框架

是基于Collection和Map两个接口。其层次接口图为

1.1 Iterable

其方法有

方法名说明
Iterator<T> iterator()可迭代对象的迭代器
default void forEach(Consumer<? super T> action)默认方法,对迭代对象的元素应用action.
default Spliterator<T> spliterator()默认方法, 可迭代对象的分割迭代器

1.2 Iterator

其方法有

方法名说明
boolean hasNext()是否还有未遍历的元素
E next()返回迭代中的元素
default void remove()默认方法,抛出不支持操作异常UnsupportedOperationException
default void forEachRemaining(Consumer<? super E> action)默认方法,对剩余未遍历元素应用action

1.3 Collection

方法有

方法名说明
int size()集合大小
boolean isEmpty()集合是否为空
boolean contains(Object o)集合中是否包含元素o
Iterator<E> iterator()集合迭代器
Object[] toArray()集合转为数组
T[] toArray(T[] a)集合转为数组并且赋值到数组a
boolean add(E e)集合中添加元素e
boolean remove(Object o)集合中删除元素o
boolean containsAll(Collection<?> c)集合中是否包含集合c中的元素
boolean addAll(Collection<? extends E> c)集合中添加集合c上的所有元素
boolean removeAll(Collection<?> c)集合的差集
default boolean removeIf(Predicate<? super E> filter)集合中删除满足条件的元素
boolean retainAll(Collection<?> c)集合中保留集合c中的元素
void clear()集合清空
boolean equals(Object o)集合判断相等
int hashCode()集合的hash
default Spliterator<E> spliterator()集合的Splitertator
default Stream<E> stream()集合的串行流
default Stream<E> parallelStream()集合的并发流

1.4 List

除了Collection继承的方法外,还包含

方法名说明
boolean addAll(int index, Collection<? extends E> c)在指定位置添加集合的所有元素
void add(int index, E element)在指定位置添加元素
E get(int index)获取指定位置的元素
E remove(int index)删除指定位置的元素
E set(int index, E element)设置指定位置的元素
int indexOf(Object o)查找元素在List中首次出现的位置 
int lastIndexOf(Object o)查找元素在List中最后出现的位置 
List<E> subList(int fromIndex, int toIndex)返回List的指定位置区间的视图
ListIterator<E> listIterator()List迭代器
ListIterator<E> listIterator(int index)List指定位置的迭代器

其实现类有ArrayList,LinkedList,CopyOnWriteArrayList

 ListIterator接口方法有

方法说明
boolean hasNext()是否有后继节点
E next()后继节点
boolean hasPrevious()是否有前驱节点
E previous()前驱节点
int nextIndex()返回后继节点的索引
int previousIndex()返回前驱节点的索引
void remove()删除节点,即previous或者next指的节点
void set(E e)替换previous或者next指的节点
 void add(E e)在previous后插入或者next前插入节点

Java 集合框架主要分为两个部分:`java.util` 和 `java.util.concurrent`。其,`java.util` 包含了大部分的集合框架,而 `java.util.concurrent` 则包含了一些并发集合框架。 在 `java.util` 包集合框架主要分为两类:`Collection` 和 `Map`。`Collection` 接口表示一组对象,它是所有集合框架的基础接口,提供了对集合元素的基本操作,例如添加、删除、查找等。`Map` 接口则表示一组键值对,提供了根据键来查找值的操作。 在 `Collection` 接口下,Java 常用的集合框架包括: 1. `List`:有序列表,元素可以重复。常用的实现类有 `ArrayList`、`LinkedList` 和 `Vector`。 2. `Set`:无序集合,元素不可以重复。常用的实现类有 `HashSet`、`LinkedHashSet` 和 `TreeSet`。 3. `Queue`:队列,元素按照一定的顺序进行排列,常用的实现类有 `LinkedList` 和 `PriorityQueue`。 4. `Deque`:双端队列,可以在队列的两端进行插入和删除操作,常用的实现类有 `ArrayDeque` 和 `LinkedList`。 在 `Map` 接口下,Java 常用的集合框架包括: 1. `HashMap`:无序键值对集合,键不可以重复。 2. `LinkedHashMap`:有序键值对集合,键不可以重复。 3. `TreeMap`:有序键值对集合,键可以按照自然顺序进行排序。 4. `Hashtable`:与 `HashMap` 类似,但是是线程安全的,不推荐使用。 总之,Java 集合框架提供了丰富的数据结构和算法,可以大大简化程序的开发,提高程序的效率和可维护性。需要根据具体的需求来选择合适的集合框架和实现类。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

kgduu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值