1、创建一个普通的数组,并遍历其中的元素。
package com.datastructure.array;
public class ArrayExample {
public static void main(String[] args) {
// 声明一个整型数组
int[] array;
// 创建一个长度为5的整型数组
array = new int[5];
// 初始化数组元素
array[0] = 10;
array[1] = 20;
array[2] = 30;
array[3] = 40;
array[4] = 50;
// 访问数组元素
System.out.println("第一个元素的值为:" + array[0]);
System.out.println("第二个元素的值为:" + array[1]);
System.out.println("第三个元素的值为:" + array[2]);
System.out.println("第四个元素的值为:" + array[3]);
System.out.println("第五个元素的值为:" + array[4]);
// 遍历数组元素
System.out.println("数组中的所有元素:");
for (int i = 0; i < array.length; i++) {
System.out.println(array[i]);
}
}
}
2、使用自定义迭代器,遍历数组。
package com.datastructure.array;
import java.util.Iterator;
//数组迭代器实现
class ArrayIterator implements Iterator<Integer> {
private int[] array; // 要遍历的数组
private int currentIndex; // 当前的索引位置
public ArrayIterator(int[] array) {
this.array = array;
currentIndex = 0;
}
@Override
public boolean hasNext() {
return currentIndex < array.length;
}
@Override
public Integer next() {
int element = array[currentIndex];
currentIndex++;
return element;
}
}
package com.datastructure.array;
import java.util.Iterator;
public class ArrayIteratorDemo {
public static void main(String[] args) {
// 声明一个整型数组,存储具有相同类型的固定大小的元素序列。
int[] array = { 10, 20, 30, 40, 50 };
// 使用数组的迭代器来遍历数组元素
Iterator<Integer> iterator = new ArrayIterator(array);
System.out.println("数组中的所有元素:");
while (iterator.hasNext()) {
int element = iterator.next();
System.out.println(element);
}
}
}
3、ArrayDeque
package com.datastructure.array;
import java.util.ArrayDeque;
public class ArrayDequeDemo{
public static void main(String[] args) {
//双端队列数据结构,可以在队列的两端进行插入和删除操作。
ArrayDeque<String> deque = new ArrayDeque<>();
// 在队列头部插入元素
deque.addFirst("apple");
deque.addFirst("banana");
System.out.println("Deque: " + deque); // 输出: Deque: [banana, apple]
// 在队列尾部插入元素
deque.addLast("orange");
deque.addLast("mango");
System.out.println("Deque: " + deque); // 输出: Deque: [banana, apple, orange, mango]
// 获取队列头部元素
String firstElement = deque.getFirst();
System.out.println("First Element: " + firstElement); // 输出: First Element: banana
// 获取队列尾部元素
String lastElement = deque.getLast();
System.out.println("Last Element: " + lastElement); // 输出: Last Element: mango
// 删除队列头部元素
String removedElement = deque.removeFirst();
System.out.println("Removed Element: " + removedElement); // 输出: Removed Element: banana
// 删除队列尾部元素
removedElement = deque.removeLast();
System.out.println("Removed Element: " + removedElement); // 输出: Removed Element: mango
System.out.println("Deque: " + deque); // 输出: Deque: [apple, orange]
}
}