最近在开发过程中,发现自己对java集合的了解已经忘得差不多了,作为开发者,这可不是一件好事哈,之前开始学习java基础的时候,学过一段时间的java集合,但是现在到了工作岗位上的时候,发现自己用到的集合仅有少部分,主要使用到List和Map,.其他的用到少,可能是我项目组用的少吧,或者说我们目前居多均用List和Map就可以解决了。
废话说多了,正式来说集合篇吧:
java常见集合框架简介
我们将java集合框架称为容器,在java中,我们使用两个基本接口: Collection(List、Set、Queue等均继承自他)和 Map<K,V>。
List:有序、可重复的集合,常用的实现类有ArrayList和LinkedList。
Set:无序、不可重复的集合,常用的实现类有HashSet和TreeSet。
Map:键值对的集合,常用的实现类有HashMap和TreeMap。
Queue:队列,常用的实现类有LinkedList和PriorityQueue。
Stack:栈,常用的实现类有Stack。
Deque:双端队列,常用的实现类有ArrayDeque和LinkedList。
Iterable
作为Collection接口的顶级接口,可以用于迭代,用我们的API解释意思:作为实现这个接口运行对象成为foreach语句的目标。
Iterable<T>
接口定义了一个抽象方法iterator()
,该方法返回一个Iterator<T>
对象,用于遍历集合中的元素。
Iterator<T>
接口是Iterable接口的子接口,它定义了一些方法用于遍历集合中的元素,包括hasNext()、next()和remove()等。
通过实现Iterable<T>
接口,我们可以使用增强型的for-each循环来遍历集合中的元素,而不需要直接操作Iterator对象。
以下是一个示例代码,展示了如何使用Iterable<T>
接口和Iterator<T>
接口来遍历集合中的元素:
public class MyCollection<T> implements Iterable<T> {
private T[] elements;
private int size;
public MyCollection(T[] elements) {
this.elements = elements;
this.size = elements.length;
}