数据结构之链表

1、 LinkedList:

java 复制代码
package com.datastructure.linkedlist;
import java.util.LinkedList;
import java.util.Arrays;
import java.util.Collections;
import java.util.Iterator;

public class LinkedListExample {
    public static void main(String[] args) {
    	
        LinkedList<String> linkedList = new LinkedList<>();

        // 添加元素到链表末尾
        linkedList.add("Apple");
        linkedList.add("Banana");
        linkedList.add("Orange");

        // 在指定位置插入元素
        linkedList.add(1, "Grapes");

        // 删除指定位置的元素
        linkedList.remove(2);

        // 获取指定位置的元素
        String element = linkedList.get(0);
        System.out.println("Element at index 0: " + element);

        // 修改指定位置的元素
        linkedList.set(1, "Mango");

        // 判断链表是否为空
        boolean isEmpty = linkedList.isEmpty();
        System.out.println("Is linked list empty? " + isEmpty);

        // 获取链表的大小
        int size = linkedList.size();
        System.out.println("Size of linked list: " + size);

        // 遍历链表元素
        for (String s : linkedList) {
            System.out.println(s);
        }

        // 将LinkedList转换为数组
        String[] array = linkedList.toArray(new String[0]);
        System.out.println("Array: " + Arrays.toString(array));

        // 将LinkedList反转
        Collections.reverse(linkedList);

        // 将LinkedList排序
        Collections.sort(linkedList);

        // 队列操作
        linkedList.addFirst("Cherry");
        String firstElement = linkedList.removeFirst();
        System.out.println("First element: " + firstElement);
        String peekFirstElement = linkedList.peekFirst();
        System.out.println("Peek first element: " + peekFirstElement);
        
        // 输出链表元素
        System.out.println("Linked list after operations:");
        for (String s : linkedList) {
            System.out.println(s);
        }
        
        // 使用迭代器遍历链表
        Iterator<String> iterator = linkedList.iterator();
        while (iterator.hasNext()) {
            String elements = iterator.next();
            System.out.println(elements+"...........");
        }
    }
}

2、ArrayList:

java 复制代码
package com.datastructure.array;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Iterator;
//创建一个整型ArrayList并进行了各种操作,
//包括添加、获取、修改、删除、判断是否为空、获取大小、遍历和转换为数组。
public class ArrayListDemo {
	
    public static void main(String[] args) {
        // 创建一个空的整型ArrayList
        ArrayList<Integer> list = new ArrayList<Integer>();
        
        // 添加元素到ArrayList的末尾
        list.add(10);
        list.add(20);
        list.add(30);
        
        // 在指定位置插入元素
        list.add(0, 5);
        
        // 将另一个ArrayList的全部元素添加到当前ArrayList
        list.addAll(new ArrayList<>(Arrays.asList(1, 2, 3)));
        
        // 获取指定位置的元素
        int element = list.get(0);
        System.out.println("Element at index 0: " + element);
        
        // 获取元素第一次出现的索引,若不存在则返回-1
        int index = list.indexOf(10);
        System.out.println("Index of element 10: " + index);
        
        // 修改指定位置的元素
        list.set(0, 15);
        
        // 删除指定位置的元素
        list.remove(3);
        
        // 删除第一次出现的指定元素
        list.remove(Integer.valueOf(10));
        
        // 删除包含在给定集合中的所有元素
        list.removeAll(Arrays.asList(1, 2, 3));
        
        // 判断ArrayList是否为空
        boolean isEmpty = list.isEmpty();
        System.out.println("ArrayList is empty: " + isEmpty);
        
        // 获取ArrayList的大小
        int size = list.size();
        System.out.println("Size of ArrayList: " + size);
        
        // 遍历ArrayList并打印元素
        for (int element1 : list) {
            System.out.println(element1);
        }
        
        // 或者使用迭代器进行遍历
        Iterator<Integer> iterator = list.iterator();
        while (iterator.hasNext()) {
            int elements = iterator.next();
            System.out.println(elements);
        }
        
        // 将ArrayList转换为数组
        Integer[] arr = list.toArray(new Integer[list.size()]);
    }
}
相关推荐
雨中飘荡的记忆37 分钟前
财务对账系统设计与实现
java
0***h94238 分钟前
使用 java -jar 命令启动 Spring Boot 应用时,指定特定的配置文件的几种实现方式
java·spring boot·jar
没书读了40 分钟前
数据结构-考前记忆清单
数据结构
雨中飘荡的记忆40 分钟前
布式事务详解:从理论到实践(RocketMQ + Seata)
java·rocketmq
小龙报1 小时前
【算法通关指南:数据结构和算法篇 】队列相关算法题:3.海港
数据结构·c++·算法·贪心算法·创业创新·学习方法·visual studio
i***48611 小时前
微服务生态组件之Spring Cloud LoadBalancer详解和源码分析
java·spring cloud·微服务
zzlyx991 小时前
用C#采用Avalonia+Mapsui在离线地图上插入图片画信号扩散图
java·开发语言·c#
Aevget1 小时前
MyEclipse全新发布v2025.2——AI + Java 24 +更快的调试
java·ide·人工智能·eclipse·myeclipse
一 乐1 小时前
购物|明星周边商城|基于springboot的明星周边商城系统设计与实现(源码+数据库+文档)
java·数据库·spring boot·后端·spring
笃行客从不躺平1 小时前
线程池监控是什么
java·开发语言