数据结构 | 顺序表(线性表的顺序存储结构)及Java实现

本文介绍了线性表的概念,重点讲解了Java中顺序表的实现——ArrayList。详细阐述了ArrayList的原理、常见方法的用法,如添加、删除、迭代等,并通过示例展示了其迭代能力。此外,还提供了自定义顺序表的Java代码实现及其测试结果。
摘要由CSDN通过智能技术生成


前言

线性表(linear list)是n个具有相同特性的数据元素的有限序列。线性表是一种在实际中广泛应用的数据结构,常见的线性表包括:顺序表、链表、栈、队列、字符串等。线性表在逻辑上是线性结构,也就是连续的一条直线,但是在物理结构上并不一定是连续的。


一、顺序表的原理

顺序表在逻辑上是线性的,在内存中存储时,也是严格按照逻辑上的次序保存起来的。
在这里插入图片描述

二、java中顺序表(ArrayList)的使用方法

java中已经提供了顺序表——类:java.util.ArrayList

ArrayList是一个泛型类(元素类型用泛型表示)

1.常见方法的含义+用法

常用方法:

add(element);
add(index,element);
remove(index);
boolean add(element);
get(index);
set(index,element);
boolean contains(element);
int indexof(element);
int lastindexof(element);
void clear();
int size();
boolean isEmpty();

在顺序表的使用过程中,从不需要考虑容量的问题,只需要考虑已有元素个数的问题!

例1:

import java.util.ArrayList;

public class Test3 {
   
    public static void main(String[] args) {
   
        // 定义一个元素类型是String的顺序表
        ArrayList<String> list = new ArrayList<>();

        // 向顺序表中添加(插入)元素
        list.add("A");
        list.add("B");
        list.add("C");
        list.add("D");
        list.add("E");

        System.out.println(list);   // [A,B,C,D,E]

        // 删除下标1位置的元素
        String remove = list.remove(1);
        System.out.println(remove);   // B
        System.out.println(list);     // [A,C,D,E]

        // 删除元素"C"
        boolean remove1 = list.remove("C");
        System.out.println(remove1);   // true
        System.out.println(list);      // [A,D,E]

        // 获取下标 1 位置的元素
        System.out.println(list.get(1));  // D

        // 用元素"B"替换下标 1 位置的元素
        System.out.println(list.set(1, "B"));   // D
        System.out.println(list);  // [A,B,E]

        // 判断顺序表中是否包含元素"E"
        System.out.println(list.contains("E"));   // true

        // 顺序表中插入元素"E"
        list.add("E");
        System.out.println(list);   // [A,B,E,E]

        // 求顺序表中的元素个数
        System
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值