【浅学Java数据结构】链表的基本使用

1. LinkedList的构造

LinkedList()————无参构造

public LinkedList(Collection<? extends E> c)————使用其他集合容器中元素构造List

public class package4 {
          
   
    public static void main(String[] args) {
          
   
        List<Integer> list1=new LinkedList<>();//无参构造链表
        list1.add(1);
        list1.add(2);
        list1.add(3);
        list1.add(4);

        List<Integer> list2=new ArrayList<>();
        list2.add(5);
        list2.add(6);
        list2.add(7);
        list2.add(8);

        List<Integer> list3=new LinkedList<>(list1);//用list1链表构造
        System.out.println(list3);
        List<Integer> list4=new LinkedList<>(list2);//用list2顺序表构造
        System.out.println(list4);
    }
}

2. LinkedList的其他常用方法介绍

public static void main(String[] args) {
          
   
        List<Integer> list=new LinkedList<>();
        for(int i=0;i<6;i++){
          
   
            list.add(i);//尾插元素
        }
        System.out.println(list);

        list.add(3,888);//在3下标处插入888
        list.add(5,999);//在3下标处插入999
        System.out.println(list);

        list.remove(3);//删除3下标的元素
        list.remove(4);//删除4下标的元素
        System.out.println(list);

        Integer num=5;
        list.remove(num);//删除第一个出现的元素num
        System.out.println(list);

        int ret1=list.get(4);//获取4下标的元素
        System.out.println(ret1);

        list.set(4,5);//将4下标处元素修改为4
        System.out.println(list);

        boolean ret2=list.contains(3);//判断3是否在链表中
        System.out.println(ret2);

        int ret3=list.indexOf(3);//返回第一个3所在的下标
        System.out.println(ret3);

        int ret4=list.lastIndexOf(3);//返回倒数第一个3所在的下标
        System.out.println(ret3);

        List<Integer> list2=list.subList(2,4);//截取部分list
        System.out.println(list2);
    }
经验分享 程序员 微信小程序 职场和发展