数据结构之链表

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()]);
    }
}
相关推荐
camellia1 分钟前
SpringBoot(二十四)SpringBoot集成redis哨兵集群
java·前端·后端
仲夏plus6 分钟前
Java:基于SpringBoot的微服务文件上传下载组件,支持本地+OSS上传和后期可扩展性
java·spring boot
MacroZheng13 分钟前
换掉ES!SpringBoot + Meilisearch实现商品搜索,太方便了!
java·spring boot·后端
{⌐■_■}19 分钟前
【计网】认识跨域,及其在go中通过注册CORS中间件解决跨域方案,go-zero、gin
java·linux·开发语言·c++·中间件·golang·gin
猿java33 分钟前
什么是Nginx?它有哪些应用场景?
java·nginx·面试
代码程序猿RIP34 分钟前
【C语言干货】回调函数
c语言·开发语言·数据结构·c++·算法
DBWYX37 分钟前
redis
java·redis·mybatis
mask哥38 分钟前
实用的java技术架构组件汇总
java·spring·微服务·springboot·vo校验·常用java组件
不穿铠甲的穿山甲1 小时前
gradle-tasks.register(‘classesJar‘, Jar)解析
android·java·gradle·groovy
刚入门的大一新生1 小时前
C++初阶-模板初阶
开发语言·数据结构·c++