数据结构——线性表和顺序表

1. 认识线性表和顺序表

线性表(linear list)是n个具有相同特性的数据元素的有限序列。 线性表是一种在实际中广泛使用的数据结构,常见的线性表:顺序表、链表、栈、队列、字符串…
线性表在逻辑上是线性结构,也就说是连续的一条直线。但是在物理结构上并不一定是连续的,线性表在物理上存储时,通常以数组和链式结构的形式存储。
在这里插入图片描述
1.顺序表(逻辑上线性,在内存中存储时,也是严格按照逻辑上的次序保存起来)
2.链表(逻辑上线性,在内存中存储时,不保证连续性)

注意: 顺序表中一定要区分两个概念 容量(capacity) vs 元素个数(size);线性表的所有下标只和元素个数相关,和容量无关。

2.java中的List和ArryList

java中已经提供的顺序表 ——类:java.util.ArrayList
官方文档:https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html
重点掌握的方法:
1.boolean add(e); 向顺序表中进行“尾插”,一定会返回true
在这里插入图片描述
2.void add(indx,e); 向顺序表中插入e元素,放到下标为index的位置
在这里插入图片描述
ArrayList 是一个泛型类——元素类型用泛型表示
ArrayList a1;元素类型是integr的顺序表
ArrayList a2;元素类型是String的顺序表

1.ArrayList a = new ArrayList<>();//使用默认构造方法

import java.util.ArrayList;

public class Array {
   
    public static void main(String[] args) {
   
    //定义一个元素类型是String的顺序表
        ArrayList<String> list = new ArrayList<>();//空顺序表
        list.add ("我");
        list.add("爱");
        list.add("你");
        System.out.println(list);
    }
}

依次进行尾插运行结果:
在这里插入图片描述

import java.util.ArrayList;

public class Array {
   
    public static void main(String[] args) {
   
        ArrayList<String> list = new ArrayList<>();
        /*list.add ("我");
        list.add("爱");
        list.add("你");
        System.out.println(list);*/
        //合法下标[0,0]
        list.add(0,"我");
        //合法下标[0,1]
        list.add(0,"爱");
        //合法下标[0,2]
        list.add(0,"你");
        System.out.println(list);

    }
}

把 “我”“爱”“你”一次往0号下标出存放因此运行结果为:
在这里插入图片描述

因此我们根据这个规律

import java.util.ArrayList;

public class Array {
   
    public static void main(String[] args) {
   
        ArrayList<String> list = new ArrayList<>();
        /*list.add ("我");
        list.add("爱");
        list.add("你");
        System.out.println(list);*/
        //合法下标[0,0]
        list.add("我");
        //合法下标[0,1]
        list.add(0,"爱");
        //合法下标[0,2]
        list.add(1,"你");
        list.add(1,"他");
        list.add(0,"不爱");
        list.add(3,"就爱");
        System.out.println(list);

    }
}

根据规律很容易得运行结果:
在这里插入图片描述

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

2.remove(index); 删除index位置处的元素
在这里插入图片描述

import java.util.ArrayList;

public class Array {
   
    public static void main(String[] args) {
   
        ArrayList<String> list = new ArrayList<>(
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值