【Java】LinkedList基础语法

本文介绍了Java中的LinkedList数据结构,对比了它与ArrayList的区别,并详细阐述了如何添加、访问、删除元素以及迭代操作。LinkedList适用于需要频繁插入和删除元素,且不注重随机访问效率的场景。示例代码展示了LinkedList的基本操作,包括add()、addFirst()、addLast()、get()、remove()以及迭代器的使用。
摘要由CSDN通过智能技术生成

目录

LinkedList

添加元素

访问元素

删除元素

迭代元素


LinkedList

Java LinkedList(链表) 类似于 ArrayList,是一种常用的数据容器
与 ArrayList 相比,LinkedList 的增加和删除的操作效率更高,而查找和修改的操作效率较低。

  • 以下情况使用 ArrayList :

  1. 频繁访问列表中的某一个元素。

  2. 只需要在列表末尾进行添加和删除元素操作。

  • 以下情况使用 LinkedList :

  1. 你需要通过循环迭代来访问列表中的某些元素。

  2. 需要频繁的在列表开头、中间、末尾等位置进行添加和删除元素操作。

LinkedList类位于java.util包中,使用前需要引入它,语法格式:

import java.util.LinkedList;
LinkedList<E> list=new Linkedlist<E>();//普通方法

LinkedList<E> list=new LinkedList(Collection<?extends E> c);//使用集合创建

添加元素

LinkedList提供添加方法有add()、addFirst()、addLast();
区别在于add()方法按照顺序添加在链表中,addFirst()方法添加在链表首部,addLast()方法添加在链表尾部;

import java.util.LinkedList;

public class MainTest{
    public static void main(String[] aegs){
        LinkedList<String> sites=new LinkedList<String>();
        sites.add("a1");
        sites.add("b2");
        sites.add("c3");
        sites.add("d4");
        sites.addFirst("aa11");
        sites.addLast("dd44");
        System.out.println(sites);
    }
}

访问元素

下标获取方法get(index);
获取链表开头与结尾元素的方法,getFirst(),getLast();

import java.util.LinkedList;

public class MainTest{
    public static void main(String[] args){
        LinkedList<String> site=new LinkedList<String>();
        site.add("i");
        site.add("am");
        site.add("a");
        site.add("student");
        
        System.out.println(sites.getFirst());
        System.out.println(sites.get(1));
        System.out.println(sites.getLast());
    }
}

删除元素

利用下标删除方法remove(index); 移除链表开头与结尾元素的方法,removeFirst(),removeLast();

import java.util.LinkedList;

public class MainTest{
    public static void main(String[] args){
        LinkedList<String> site=new LinkedList<String>();
        site.add("i");
        site.add("am");
        site.add("a");
        site.add("student");
        site.removeFirst();
        site.remove(1);
        System.out.println(sites);//[am, student]
    }
}

迭代元素

可以配合使用size()方法来迭代链表中的元素;

  • for

import java.util.LinkedList;

public class MainTest{
    public static void main(String[]args){
        LinkedLIst<Integer> sites=new LinkedList<Integer>();        
        sites.add(1);
        sites.add(2);
        sites.add(3);
        sites.add(4);
        for(int i=0;i<sites.size();i++){
            System.out.println(sites.get(i));
        }
    }
}
  • each-for

import java.util.LinkedList;

public class MainTest{
   public static void main(String[]args){
       LinkedLIst<Integer> sites=new LinkedList<Integer>();        
       sites.add(1);
       sites.add(2);
       sites.add(3);
       sites.add(4);
       for(int i : sites){
           System.out.println(i);
       }
   }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值