在Java编程中,我们经常需要存储和操作一组相关的数据。下面介绍了目前常见的数据存放方式。
int
类型的变量来保存一个整数值,使用一个String
类型的变量来保存一个字符串。
Java提供了集合框架来处理存储多个元素的情况,集合框架分为单列集合和双列集合两类。
List
、Set
、Queue
和SortedSet
。
ArrayList
、LinkedList
和Vector
。
HashSet
和LinkedHashSet
。
PriorityQueue
和LinkedList
。
TreeSet
。
HashMap
、LinkedHashMap
和TreeMap
。
在本文中,我们主要关注单列集合的使用。
public boolean add(E e)
将给定的对象添加到当前集合中。
public void clear()
清空集合中所有的元素。
public boolean remove(E e)
从当前集合中删除给定的对象。
public boolean contains(E e)
判断当前集合中是否包含给定的对象。
public boolean isEmpty()
判断当前集合是否为空。
public int size()
返回集合中元素的个数。
public Object[] toArray()
将集合中的元素存储到数组中。
迭代器是用于遍历集合中元素的对象,它提供了一种统一的遍历方式,不依赖于集合的具体实现。
public interface Iterator<E> {
boolean hasNext(); // 问一问容器中还有没有元素
E next(); // 获取到下一个元素
void remove(); // 移除当前元素
}
迭代器的工作原理是,在调用next()
方法之前,迭代器的索引位于第一个元素之前,不指向任何元素。当第一次调用next()
方法后,迭代器的索引会向后移动一位,指向第一个元素并返回该元素的值。再次调用next()
方法时,迭代器的索引会指向第二个元素并返回该元素的值,依此类推,直到hasNext()
方法返回false,表示到达了集合的末尾,遍历结束。
增强for循环是Java5引入的一种新循环结构,也称为foreach循环。它可以更简洁地遍历数组或集合中的元素,使代码更加易读。
for (元素的类型 元素的名称 : 需要遍历的容器) {
// 执行遍历操作
}
需要注意的是,增强for循环不能在遍历过程中删除元素(使用remove
方法),否则会抛出java.util.ConcurrentModificationException
异常。如果需要在遍历过程中删除元素,应该使用迭代器方式进行删除。
增强for循环的底层实现其实是使用了迭代器,因此它也具有类似于迭代器的限制。
通过学习本文,您可以了解Java中目前常见的数据存放方式和集合框架的基本概念。同时,了解了集合接口和迭代器的常用方法以及增强for循环的特点和使用方法。希望本文对您有所帮助,欢迎留言交流!