当前位置: 首页 > ds >正文

Java高频方法总结

1. 数组转字符串打印: System.out.println(Arrays.toString(array));

用途:快速打印数组内容,避免直接打印数组时输出的是内存地址。

2. 字符串分割为列表: List<String> list = Arrays.asList(input.split(" "));

用途:将字符串按空格分割,并转换为List。注意:这个List是Arrays的内部类,固定大小,不能增删。

3. 集合初始化(例如使用ArrayList): List<String> list = new ArrayList<>(Arrays.asList("a", "b", "c"));

用途:创建一个可变的ArrayList,并初始化一些元素。

4. 快速创建不可变集合(Java 9+): List<String> list = List.of("a", "b", "c");

用途:创建一个不可变的列表。

5. 数组排序: Arrays.sort(array);

用途:对数组进行升序排序。

6. 集合排序: Collections.sort(list);

用途:对List进行升序排序。

7. 遍历集合(使用增强for循环):

for (String s : list) { ... }

用途:遍历集合中的每个元素。

8. 使用迭代器遍历集合:

Iterator<String> it = list.iterator(); while (it.hasNext()) { String s = it.next(); ... }

用途:遍历集合,并可以在遍历过程中安全地删除元素。

9. 集合转数组:

String[] array = list.toArray(new String[0]);

用途:将List转换为数组。

10. 从控制台读取输入(使用Scanner):

Scanner scanner = new Scanner(System.in); String line = scanner.nextLine();

用途:读取一行输入。

11. 字符串操作:

判断字符串是否为空:str.isEmpty() 或 str.length()==0

判断字符串是否为空白(包括空格):str.trim().isEmpty() 或 Java 11+的str.isBlank()

获取子字符串:str.substring(startIndex, endIndex)

查找字符或子字符串:str.indexOf(subStr), str.lastIndexOf(subStr)

字符串替换:str.replace(oldChar, newChar) 或 str.replaceAll(regex, replacement)

字符串分割:str.split(regex)

字符串连接:String.join(delimiter, elements) 或 使用StringBuilder

12. 集合框架常用方法:

添加元素:list.add(element), set.add(element), map.put(key, value)

移除元素:list.remove(index) 或 list.remove(object), set.remove(object), map.remove(key)

检查包含:list.contains(object), set.contains(object), map.containsKey(key)

获取大小:list.size(), set.size(), map.size()

13. 文件读写(简单示例):

读取文件:List<String> lines = Files.readAllLines(Paths.get("file.txt"), StandardCharsets.UTF_8);

写入文件:Files.write(Paths.get("file.txt"), content.getBytes(StandardCharsets.UTF_8));

14. 使用try-with-resources处理资源(如文件流):

try (BufferedReader br = new BufferedReader(new FileReader("file.txt"))) { String line; while ((line = br.readLine()) != null) { // 处理行 } } catch (IOException e) { e.printStackTrace(); }

用途:自动关闭资源,避免资源泄露。

15. 使用Optional避免空指针:

Optional<String> optional = Optional.ofNullable(str); optional.ifPresent(s -> System.out.println(s)); 或 String result = optional.orElse("default");

16. 使用Stream API(Java 8+)进行集合操作:

过滤:list.stream().filter(s -> s.startsWith("a")).collect(Collectors.toList())

映射:list.stream().map(String::toUpperCase).collect(Collectors.toList())

排序:list.stream().sorted().collect(Collectors.toList())

去重:list.stream().distinct().collect(Collectors.toList())

聚合操作:list.stream().count(), list.stream().mapToInt(Integer::parseInt).sum()

17. 日期时间处理(Java 8+):

获取当前日期时间:LocalDateTime now = LocalDateTime.now();

格式化日期时间:DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); String formatted = now.format(formatter);

解析字符串为日期时间:LocalDateTime dt = LocalDateTime.parse("2025-08-06 12:30:00", formatter);

18. 多线程编程:

创建线程:new Thread(() -> { ... }).start();

使用线程池:ExecutorService executor = Executors.newFixedThreadPool(10); executor.submit(() -> { ... });

1. 数组工具类 Arrays

  • Arrays.toString(array)
    → 快速打印数组内容(避免输出地址值)

    java

    int[] arr = {1, 2, 3};
    System.out.println(Arrays.toString(arr)); // 输出: [1, 2, 3]
  • Arrays.sort(array)
    → 数组排序(升序)

    java

    int[] nums = {3, 1, 2};
    Arrays.sort(nums); // nums变为 [1, 2, 3]
  • Arrays.asList(T...)
    → 将数组转为固定长度的列表(不可增删)

    java

    List<String> list = Arrays.asList("A", "B", "C"); 

2. 字符串分割与处理 String.split()

  • str.split(regex)
    → 按正则分割字符串为数组

    java

    String input = "a b c";
    String[] parts = input.split(" "); // 得到 ["a", "b", "c"]

    → 结合列表转换:

    java

    List<String> list = Arrays.asList(input.split(" "));

3. 集合工具类 Collections

  • Collections.sort(list)
    → 对列表升序排序

    java

    List<Integer> nums = new ArrayList<>(List.of(3, 1, 2));
    Collections.sort(nums); // 变为 [1, 2, 3]
  • Collections.reverse(list)
    → 反转列表顺序

    java

    Collections.reverse(nums); // 变为 [3, 2, 1]

4. 集合与数组互转

  • 集合 → 数组

    java

    List<String> list = List.of("A", "B");
    String[] array = list.toArray(new String[0]); // 需指定类型
  • 数组 → 集合(可变)

    java

    String[] arr = {"X", "Y"};
    List<String> mutableList = new ArrayList<>(Arrays.asList(arr)); // 可增删

5. I/O 操作

  • 控制台输出

    java

    System.out.println("Message"); // 打印并换行
    System.out.print("No newline"); // 不换行
  • 控制台输入

    java

    Scanner scanner = new Scanner(System.in);
    String line = scanner.nextLine(); // 读取一行
    int num = scanner.nextInt();     // 读取整数

6. 字符串常用方法

  • str.trim()
    → 移除首尾空格

    java

    String s = "  text  ".trim(); // "text"
  • str.substring(start, end)
    → 截取子串

    java

    "hello".substring(1, 3); // "el"
  • str.equals(str2)
    → 比较字符串内容(非地址)

    java

    boolean equal = "abc".equals("abc"); // true

7. 集合遍历

  • 增强 for 循环

    java

    for (String item : list) {System.out.println(item);
    }
  • 迭代器 Iterator

    java

    Iterator<String> it = list.iterator();
    while (it.hasNext()) {String element = it.next();
    }

8. 其他高频操作

  • 列表初始化(Java 9+)

    java

    List<String> list = List.of("A", "B"); // 不可变列表
  • 检查空集合/空字符串

    java

    if (list.isEmpty()) { ... }
    if (str.isEmpty() || str.isBlank()) { ... } // Java 11+

使用场景总结

场景推荐方法
打印数组Arrays.toString()
字符串分割为列表Arrays.asList(str.split(regex))
数组/集合排序Arrays.sort() / Collections.sort()
控制台输入输出System.out.println() + Scanner
字符串处理split()trim()substring()
集合与数组互转list.toArray() + Arrays.asList()
http://www.xdnf.cn/news/17354.html

相关文章:

  • 数据结构(四)内核链表、栈与队列
  • 嵌入式 - 数据结构:栈和队列
  • 大数据之Flume
  • 8.6学习总结
  • Qt菜单栏与工具栏实战
  • MySQL的约束条件:
  • 人工智能——深度学习——认识Tensor
  • 12. SELinux 加固 Linux 安全
  • cad c#二次开发 图层封装 获取当前层
  • LeetCode 分类刷题:611. 有效三角形的个数
  • VGG16训练和测试Fashion和CIFAR10
  • Verilog 仿真问题:打拍失败
  • jdk动态代理如何实现
  • 对 .NET线程 异常退出引发程序崩溃的反思
  • 八股——IM项目
  • C++ 运算符重载:避免隐式类型转换的艺术
  • 译 | 在 Python 中从头开始构建 Qwen-3 MoE
  • 【ArcGIS】分区统计中出现Null值且Nodata无法忽略的问题以及shp擦除(erase)的使用——以NDVI去水体为例
  • 最新教程 | CentOS 7 下 MySQL 8 离线部署完整手册(含自动部署脚本)
  • vite项目中集成vditor文档编辑器
  • 低代码系统的技术深度:超越“可视化操作”的架构与实现挑战
  • 【机器学习篇】02day.python机器学习篇Scikit-learn基础操作
  • 疯狂星期四文案网第30天运营日记
  • 自学嵌入式 day43 中断系统
  • 数据结构与算法的认识
  • Linux 防火墙(firewalld)详解与配置
  • 【概念学习】早期神经网络
  • IPS知识点
  • spring-dubbo
  • ##Anolis OS 8.10 安装oracle19c