Java程序里的各种字符含义

List和ArrayList的简要解析 。

1.List
是接口,定义有序、可重复、带索引的集合规范
不能直接 new,只能用来声明引用
常用方法:add ()、get (下标)、size ()、remove ()
2.ArrayList
是List 接口最常用实现类
底层:动态数组,自动扩容
特点:查询快、增删慢,日常开发最常用

(1)写法区别
List list = new ArrayList<>(); // 多态写法,推荐
ArrayList list = new ArrayList<>(); // 直接创建,少用
(2)二维用法(本题)
List<List> = 嵌套集合,存多行多列数据,一行是一个子 List。
(3)核心优点
长度不固定,不用提前定数组大小
存取灵活,适合读取不定行列的矩阵数据


简要解析 sc.nextLine();

  1. 作用:读取一整行输入,直到按下回车结束,连同换行符一并读完并清空
  2. 搭配 nextInt() 必用原因
    sc.nextInt() 只读取数字,读完数字后会把回车\n留在输入缓冲区
    紧接着直接用nextLine()会直接读到空回车,跳过真正输入内容。
    加一句sc.nextLine();就是吃掉残留的换行符,清空缓冲区。
  3. 区别
  • next():只读空格前一个单词,不读换行
  • nextLine():读整行,吞掉末尾换行
  1. 简写总结
    数字读取后补一行nextLine()清回车,避免吞行、输入错乱。

简要解析:List<List> data = new ArrayList<>();

  1. 整体含义:定义二维字符串集合,用来存多行多列文本数据。
  2. 分层理解
  • 内层 List<String>单行,存放一行里多个字符串
  • 外层 List<>多行,把每一行集合统一收纳
  1. 右侧 new ArrayList<>():实际用ArrayList实现这个二维列表
  2. 用途:完美存放不规则多行数据(每行元素个数可不一样)
  3. 简写作用:代替二维数组,增删更灵活,适配矩阵转置场景

简要解析 .trim()

  1. 作用:去掉字符串首尾空格、制表符、换行等空白字符
  2. 不处理字符串中间的空格完全不动
  3. 语法字符串.trim()
  4. 常用场景
    • 去除输入首尾多余空格
    • 避免空行、误输入空格影响分割判断
  5. 例子
"  abc  ".trim() → "abc"
" a b c ".trim() → "a b c"
  1. 小区别:Java11+ 有strip(),能去除全角空格,trim()只去半角空格。

split() 简要解析

  1. 作用:把字符串按指定规则切割,返回字符串数组
  2. 语法字符串.split(分割正则)
  3. 常用写法
  • split(" "):按单个空格切,多个空格会产生空元素
  • split("\\s+"):按所有空白(多空格/制表符)切割,最常用
  1. 原理:参数是正则表达式,不是单纯字符
  2. 示例
"a b  c".split("\\s+") → ["a","b","c"]
  1. 代码里用途:读取一整行输入,拆分成一个个元素存入集合。

简要解析 \\s+

  1. \s:正则里代表任意空白字符(空格、制表符\t、换行\n)
  2. +:量词,代表匹配1个及以上连续的前面字符
  3. Java里写 \\s:字符串中\是转义符,所以要双反斜杠 \\s
  4. 整体 \\s+:匹配一串连续多个空格/空白

作用

line.split("\\s+")
把一行里多个空格当成一个分隔符分割,避免多出空字符串。

posted on 2026-06-18 19:00  谢天佑  阅读(8)  评论(0)    收藏  举报