Java 数据结构第0天
00 分钟
2024-9-14
2024-9-18
tags
date
type
status
slug
summary
category
password
icon

判空包装

Optional 基本用法

  • Optional 主要用于解决当对象可能为 null 时的处理,避免直接使用 null 检查
  • 传统的null检查
    • 使用 Optional 优雅地处理空值
      • private static void test(String str) { Optional.ofNullable(str) // 使用 ofNullable 包装可能为空的对象 .ifPresent(s -> System.out.println("字符串长度为:" + s.length())); // 如果不为空则执行}​public static void main(String[] args) { test(null); // 不会抛出异常,因为 null 被优雅地处理}​
      • Optional.ofNullable(str):将 str 包装成 Optional 对象,如果 strnullOptional 将持有一个空值。
      • ifPresent(Consumer<? super T> action):只有在 Optional 包含值时,才会执行给定的 Consumer 行为。
    • Optional 常用方法
      • get() 获取值
        • get() 方法用于直接获取 Optional 中的值。如果 Optional 中没有值,会抛出 NoSuchElementException 异常。
        • orElse(T other)返回Option中的值,否则other参数指定的值
          • private static void test(String str) { String s = Optional.ofNullable(str).orElse("我是为null的情况备选方案"); System.out.println(s); // 输出 "我是为null的情况备选方案"}​
        • orElseGet(Supplier<? extends T> other)orElse 类似,但 orElseGet 接受一个 Supplier,在 Optional 为空时才会执行 Supplier,延迟计算结果。
          • private static void test(String str) { String s = Optional.ofNullable(str).orElseGet(() -> "备选字符串"); System.out.println(s);}​
        • 提供默认值:通过 orElseorElseGet 等方法,可以为可能为空的值提供默认值。
        • 链式调用:通过 mapfilter 等方法,可以实现更加简洁的链式调用,提高代码可读性。

      数据结构基础

      线性表

      • 线性表是由同一类型的数据元素构成的有序序列的线性结构。线性表中元素的个数就是线性表的长度,表的起始位置称为表头,表的结束位置称为表尾,当一个线性表中没有元素时,称为空表。
      • 主要功能
        • get index 获取指定位置上的元素: 直接获取线性表指定位置i上的元素。
        • insert 插入元素: 在指定位置i上插入一个元素。
        • delete 删除元素: 删除指定位置i上的一个元素。
        • get length 获取长度: 返回线性表的长度。
      • 两种实现:顺序存储(顺序表)&& 链式存储(链表)
        上一篇
        Java 数据结构 day2
        下一篇
        Java SE day3

        评论
        Loading...