栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

一篇文章让你精通:java集合讲解(二,LinkList)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

一篇文章让你精通:java集合讲解(二,LinkList)

学习完ArrayList,就准备准备学习它兄弟linkList了,它们是兄弟所以说有很多的方法是相同的。这样的目的是方便程序员记住它们,下面就让我们来看看它吧!

​​​​​​​​​​​​​​​​​​​​​一篇文章让你精通:java集合讲解(二,ArrayList)

亲,可以先学习一下ArrayList再来比较它们区别

linkList 

特点:采用双向链表的存储方式

优点:添加与删除元素时,效率高(前提是必须先低效率查询,如果插入与删除在头部或者尾部可以减少查询次数)

缺点:遍历元素与随机访问元素,效率低

注意:和ArrayList想比,不变的是方法名称与执行结果,变化的是底层的数据结构(数组为双向链表)与操作方式改变(如remove()方法:节点指向发生改变)

linkList实现来List<>接口,还实现了Deque接口(说明linkList,可以作为线性表,栈,队列来使用)。也说明方法比ArrayList的方法更多。

linklist的方法

add()
 

末尾添加元素,
数组能自动装箱:就是数组封装。普通数据类型——>包装类
可以使用一个参数或者二个,一个时,添加元素,二个时,第一个参数:索引,第二个,添加元素
addAll(对象)
addAll(下标,对象)

复制添加对象全部元素,默认在后面添加

当有二个参数后,表示在下标后添加对象全部元素。

remove()当输入的是对象时,删除对象,当输入的是对下标,删除下标,
el1.removeAll(el2)在el1中删除el2中相同的元素。
list.retainAll(list2);在list中查找与list2相同的元素
get()获取指定索引,返回的是一个对象。
set(index,value)  二个参数,第一个为下标,第二个为修改值
clear()   清空数组
contains(value)判断是否存在value值,返回布尔值
indexOf(value)查找value的下标索引
isEmpty()判断数组是否为空。
size()查看数组中真实存储的元素个数。与数组的length()方法返回不同
toString()遍历数组

import java.util.linkedList;


public class Test {
    public static void main(String[] args)  {
        linkedList list=new  linkedList();

        //增加
        list.add(1);
        list.add(2);
        list.add(2,100);
        //list.addAll();

        //删除
        list.remove(1);
        list.clear();

        list.add(1);
        list.add(2);

        //查看
        list.indexOf(1);
        list.size();
        int ele=list.get(1);
        System.out.println(ele);
        //修改
        list.add(2,100);
        //toString方法,遍历数组
        System.out.println(list.toString());
        //方法1,for循环
        for (int i = 0; i  System.out.println(i));
//      list.forEach(System.out::println); 第二种写法




    }


}

linklist的特有方法
addFirst
头添加
addLast
尾添加
getFirst()
获取元素
removeFirst()
头删除
removeFirst()
取出集合中元素
removeLast()
取出集合中元素,只不过是倒序输出

 //添加方法--注意该方法为链表添加头结点,所以后面添加的为链表的头元素
        list.addFirst(20);
        list.addLast(30);


        //获取元素
        System.out.println(list.getFirst());

        //删除元素
        System.out.println(list.removeFirst());

        //取出linkedList集合中所有元素
        while(!list.isEmpty()) {
            System.out.println(list.removeFirst());
            //link.removeLast()  倒序输出

        }
在什么情况下使用ArrayList与linkList?

ArrayList:按照索引随机访问,遍历集合

linkList:添加数据与删除数据多的情况下。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/357746.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号