【java】arraylist和linkedlist在java中的表现方式

本文介绍了Java中的ArrayList和LinkedList,强调了ArrayList的动态性和灵活性,以及它们与静态数组的区别。同时,详细解释了LinkedList的链式结构和特有的add和remove方法,以及在实现Set中add方法的特殊处理。
摘要由CSDN通过智能技术生成

·ArrayList为java中的动态数组

和静态数组相比,它更加地灵活,不需要在开头固定数组长度。

在ArrayList中,读取数据等操作并不像静态数组一样直接通过下标读取,如:

它是通过各种函数实现读取,存储,删除等操作的。

如图所示,首先它的创建格式为:ArrayList<数据类型> 变量名 = new ArrayList<>;

从中可以明显感受到它和静态数组的区别——不用固定长度

接着是一些它常用的函数:

add(i,e):i为索引,e为添加的元素,即在索引i处添加元素e,若i后方还有元素,则会自动将后方元素后移一位

remove(i):删除索引i处的元素

get(i):返回索引i处的元素

set(i,e):将索引i处的元素替换为元素e

size():获取数组长度

contains(e):是否包含e元素

isEmpty():判断是否为空,是返回true,不是返回false

·用ArrayList实现set

在set中,存储的元素都是不同的,具有唯一性,所以我们在输入时需要检查set中是否已经存在该元素了,在这里就主要说一下add()方法的变化,其余个人认为没有什么太大的区别

当结果为false时代表set中已经含有该元素了,结果为true时表示先前没有该元素并且将其添加到set中

public boolean add(E e) {
		int i = 0;
		for (i = 0; i < set.size(); i++){
			if (set.get(i) == e){
				return false;
			}
		}
			set.add(e);
			return true;
    }

·LinkedList为java中的链表

在链表中有两个属性:value用来存储元素的值,next用来指向下个元素

创建形式为:LinkedList<数据类型> 变量名 = new LinkedList<>;

下面是一些它常用的函数,和ArrayList基本一致:

add(e): 将元素e添加到链表的末尾

add(i,e): 在索引i处插入元素e

remove(e): 从链表中删除元素e

remove(i): 删除索引i处的元素

get(int index): 获取索引i处的元素

set(i, e): 将索引i的元素替换为新元素e

size(): 返回链表中元素的个数

contains(e): 判断链表是否包含指定元素e

isEmpty(): 判断链表是否为空。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值