Java程序里的各种字符含义
List和ArrayList的简要解析 。
1.List
是接口,定义有序、可重复、带索引的集合规范
不能直接 new,只能用来声明引用
常用方法:add ()、get (下标)、size ()、remove ()
2.ArrayList
是List 接口最常用实现类
底层:动态数组,自动扩容
特点:查询快、增删慢,日常开发最常用
(1)写法区别
List
ArrayList
(2)二维用法(本题)
List<List
(3)核心优点
长度不固定,不用提前定数组大小
存取灵活,适合读取不定行列的矩阵数据
简要解析 sc.nextLine();
- 作用:读取一整行输入,直到按下回车结束,连同换行符一并读完并清空。
- 搭配
nextInt()必用原因
sc.nextInt()只读取数字,读完数字后会把回车\n留在输入缓冲区;
紧接着直接用nextLine()会直接读到空回车,跳过真正输入内容。
加一句sc.nextLine();就是吃掉残留的换行符,清空缓冲区。 - 区别
next():只读空格前一个单词,不读换行nextLine():读整行,吞掉末尾换行
- 简写总结
数字读取后补一行nextLine()清回车,避免吞行、输入错乱。
简要解析:List<List> data = new ArrayList<>();
- 整体含义:定义二维字符串集合,用来存多行多列文本数据。
- 分层理解
- 内层
List<String>:单行,存放一行里多个字符串 - 外层
List<>:多行,把每一行集合统一收纳
- 右侧
new ArrayList<>():实际用ArrayList实现这个二维列表 - 用途:完美存放不规则多行数据(每行元素个数可不一样)
- 简写作用:代替二维数组,增删更灵活,适配矩阵转置场景
简要解析 .trim()
- 作用:去掉字符串首尾的空格、制表符、换行等空白字符
- 不处理:字符串中间的空格完全不动
- 语法:
字符串.trim() - 常用场景
- 去除输入首尾多余空格
- 避免空行、误输入空格影响分割判断
- 例子
" abc ".trim() → "abc"
" a b c ".trim() → "a b c"
- 小区别:Java11+ 有
strip(),能去除全角空格,trim()只去半角空格。
split() 简要解析
- 作用:把字符串按指定规则切割,返回字符串数组
- 语法:
字符串.split(分割正则) - 常用写法
split(" "):按单个空格切,多个空格会产生空元素split("\\s+"):按所有空白(多空格/制表符)切割,最常用
- 原理:参数是正则表达式,不是单纯字符
- 示例
"a b c".split("\\s+") → ["a","b","c"]
- 代码里用途:读取一整行输入,拆分成一个个元素存入集合。
简要解析 \\s+
\s:正则里代表任意空白字符(空格、制表符\t、换行\n)+:量词,代表匹配1个及以上连续的前面字符- Java里写
\\s:字符串中\是转义符,所以要双反斜杠\\s - 整体
\\s+:匹配一串连续多个空格/空白
作用
line.split("\\s+")
把一行里多个空格当成一个分隔符分割,避免多出空字符串。
浙公网安备 33010602011771号