数据结构之数组

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]
    }
}

  • 10
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值