细节知识点汇总

基本数据类型

Double

初始值

  • double赋值的时候初始值应该为0.0

相加 - 其他运算

  • 累加使用整型变量:每个节点的值累加到temp变量时,先将节点值转换为double类型,再累加到temp中,会有一定的性能开销。可以使用整型变量进行累加,最后再将累加结果转换为double类型再进行其他运算。
  • 当将一个int类型的整数与一个double类型的浮点数进行运算时,Java会自动进行类型转换,将int类型转换为double类型,然后执行运算。

遍历

注意事项:

  • 不要将if和while写混了,写的时候注意

数组

Array

  1. 一个ArrayList如何转化为对应的数组,例如:ArrayList<Integer>转换为int[]

    • 循环遍历

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      import java.util.ArrayList;

      public class Main {
      public static void main(String[] args) {
      ArrayList<Integer> result = new ArrayList<>();
      result.add(1);
      result.add(2);
      result.add(3);

      int[] arr = new int[result.size()];

      for (int i = 0; i < result.size(); i++) {
      arr[i] = result.get(i);
      }

      // 打印转换后的 int[] 数组
      for (int num : arr) {
      System.out.println(num);
      }
      }
      }
    • 使用Java 8引入的Stream API / 流式处理

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      import java.util.ArrayList;
      import java.util.stream.IntStream;

      public class Main {
      public static void main(String[] args) {
      ArrayList<Integer> result = new ArrayList<>();
      result.add(1);
      result.add(2);
      result.add(3);

      int[] arr = result.stream().mapToInt(Integer::intValue).toArray();

      // 打印转换后的 int[] 数组
      for (int num : arr) {
      System.out.println(num);
      }
      }
      }
  2. 如果频繁增加或者删除数组元素,最好用LinkedList而不是ArrayList

    • 使用LinkedList替代ArrayList:由于代码中频繁进行添加操作,使用LinkedList可以更高效地进行元素插入和删除。将resultList的定义改为LinkedList<Double> resultList = new LinkedList<>();