Java 优化 - List 代替 Vector

来自牛奶河Wiki
跳到导航 跳到搜索

如果不考虑到线程的安全因素,一般用 Arraylist 效率比较高。

  • Vector 是线程同步的,所以它也是线程安全的,而 Arraylist 是线程异步的,是不安全的
  • Vector 在长度不够用时在原来的基础上扩展 100%,ArrayList 扩展 50%
private static final Vector<String> splitString(String src) {
    Vector<String> spliter = new Vector<>();
    if (src == null) {
        return spliter;
    }
    ...
}
  1. 使用 ArrayList 代替 Vector,提供了更好的性能,Vector 是较旧且效率较低的方法
  2. 空值返回采用更稳妥的 Collections.emptyList 方式

修改后,代码效率提升 20% 以上。

private static final List<String> splitString(String src) {
    if (src==null||(src.equals(""))) {
        return Collections.emptyList();
    }
    List<String> spliter = new ArrayList<>();
    ...
}